在ListView中添加新项目,然后更新到数据库
本文关键字:然后 更新 数据库 新项目 ListView 添加 | 更新日期: 2023-09-27 18:13:01
这是我在ListView
中添加项目然后添加到数据库的代码。
for (int i = 0; i <= ListView1.Items.Count - 1; i++)
{
string cd = "Update ProductSold set [BillNo] = '" + txtBillNoE.Text + "',[DishName] = @d2, [DishRate] = @d3 , [Quantity] = @d4 , [TotalAmount] = @d5 where BillNo = " + txtBillNoE.Text + "";
cmd = new OleDbCommand(cd);
cmd.Connection = con;
cmd.Parameters.AddWithValue("d2", ListView1.Items[i].SubItems[1].Text);
cmd.Parameters.AddWithValue("d3", ListView1.Items[i].SubItems[2].Text);
cmd.Parameters.AddWithValue("d4", ListView1.Items[i].SubItems[3].Text);
cmd.Parameters.AddWithValue("d5", ListView1.Items[i].SubItems[4].Text);
cmd.ExecuteNonQuery();
}
我将在我的程序中给你一个场景来澄清问题,我的ListView
中已经有两个项目,并且我有一个更新按钮。当我点击更新按钮,我想添加一个新项目,然后添加到数据库,但当我得到的数据是新的添加项目和它的两倍,但2个旧项目走了。
尝试如下;
for (int i = 0; i <= ListView1.Items.Count - 1; i++)
{
string cd = @"INSERT INTO ProductSold (BillNo, DishName, DishRate, Quantity, TotalAmount)
VALUES (@BillNo, @DishName, @DishRate, @Quantity, @TotalAmount)";
cmd = new OleDbCommand(cd);
cmd.Connection = con;
cmd.Parameters.AddWithValue("@BillNo", txtBillNoE.Text);
cmd.Parameters.AddWithValue("@DishName", ListView1.Items[i].SubItems[1].Text);
cmd.Parameters.AddWithValue("@DishRate", ListView1.Items[i].SubItems[2].Text);
cmd.Parameters.AddWithValue("@Quantity", ListView1.Items[i].SubItems[3].Text);
cmd.Parameters.AddWithValue("@TotalAmount", ListView1.Items[i].SubItems[4].Text);
cmd.ExecuteNonQuery();
}