2015-10-15 118 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