在c#中使用listview插入
本文关键字:listview 插入 | 更新日期: 2023-09-27 18:08:29
处理插入查询的代码:
for (int i = 0; i <= ListView1.Items.Count - 1; i++)
{
con = new OleDbConnection(cn);
string cd = "INSERT INTO ProductSold(ID, invoiceID, description, rate, ps_quantity, ps_mrp, free, totalamount) VALUES (@ID,'" + txtInvoiceNo.Text + "',@description,@Rate,@Quantity,@MRP,@free,@Totalamount)";
cmd = new OleDbCommand(cd);
cmd.Connection = con;
cmd.Parameters.AddWithValue("InvoiceNo", txtInvoiceNo.Text);
cmd.Parameters.AddWithValue("ID", ListView1.Items[i].SubItems[0].Text);
cmd.Parameters.AddWithValue("description", ListView1.Items[i].SubItems[1].Text);
cmd.Parameters.AddWithValue("Rate", ListView1.Items[i].SubItems[5].Text);
cmd.Parameters.AddWithValue("Quantity", ListView1.Items[i].SubItems[2].Text);
cmd.Parameters.AddWithValue("MRP", ListView1.Items[i].SubItems[3].Text);
cmd.Parameters.AddWithValue("free", ListView1.Items[i].SubItems[4].Text);
cmd.Parameters.AddWithValue("Totalamount", ListView1.Items[i].SubItems[6].Text);
con.Open();
cmd.ExecuteNonQuery(); `enter code here`/*error*/
con.Close();
}
错误:insert into table Error on data mismatch on criteria?
您可能会弄乱参数值类型,对于某些RDBMS,它们需要与它们引用的字段具有相同的类型(您的ID字段可能是整数字段,但您正在使用来自TextBox的字符串值作为ID参数)。
顺便说一句:您正在为列表视图中的每个条目打开一个新连接。将con声明/赋值移出循环