在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?

在c#中使用listview插入

您可能会弄乱参数值类型,对于某些RDBMS,它们需要与它们引用的字段具有相同的类型(您的ID字段可能是整数字段,但您正在使用来自TextBox的字符串值作为ID参数)。

顺便说一句:您正在为列表视图中的每个条目打开一个新连接。将con声明/赋值移出循环