2015-10-15 114 views
-1

我想將數據從ListView保存到MySQL數據庫。項目SubTotalCashKembalian應保存到MySQL的表:將數據從Listview保存到MySQL

int SubTotal = 0; 
int Cash = 0; 
int Kembalian = 0; 

for (int i = 0; i < ListView1.Items.Count; i++) 
{ 

     SubTotal = Convert.ToInt32(ListView1.Items[i].SubItems[4].Text); 
     Cash = Convert.ToInt32(ListView1.Items[i].SubItems[4].Text); 
     Kembalian = Convert.ToInt32(ListView1.Items[i].SubItems[4].Text); 

     string constring = "datasource=localhost;port=3306;username=root;password=elga"; 
     string Query = "insert into cimonedb.penjualan (SubTotal, Cash, Kembalian) values('" + SubTotal + "','" + Cash + "','" + Kembalian + "',)"; 
     MySqlConnection conDataBase = new MySqlConnection(constring); 
     MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase); 
     MySqlDataReader myReader; 
     try 
     { 
      conDataBase.Open(); 
      myReader = cmdDataBase.ExecuteReader(); 
      MessageBox.Show("Transsaksi is Seved"); 
      while (myReader.Read()) 
      { 

      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
} 

回答

1

你有這樣的問題:

  1. 你有一個額外的逗號,insert語句的結束。
  2. 您應該使用cmdDataBase.ExecuteNonQuery();代替cmdDataBase.ExecuteReader();和刪除while (myReader.Read()) { }
  3. 你已經錯過了conDataBase.Close();

而且最好是使用Using statement提供所需的非託管資源時指定一個簡單的方法。

雖然您的代碼不易受到SQL Injection的影響,但我強烈建議您始終使用parameterized queries