在列表视图中插入项目到数据库c#
本文关键字:数据库 插入项目 列表 视图 | 更新日期: 2023-09-27 18:12:26
for (int i = 0; i <= ListView1.Items.Count - 1; i++)
{
string cd = "Insert Into ProductSold(BillNo,DishName,DishRate,Quantity,TotalAmount) VALUES (@d1,@d2,@d3,@d4,@d5)";
cmd = new OleDbCommand(cd);
cmd.Connection = con;
cmd.Parameters.AddWithValue("d1", txtBillNo.Text);
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();
clear();
}
我想在列表视图中插入所有项目数据库我插入2项,但只有1项添加帮助请?
我认为你可以使用foreach循环…
试试这个
foreach (ListViewItem l in Listview1.Items)
{
string cd = "Insert Into ProductSold(BillNo,DishName,DishRate,Quantity,TotalAmount) VALUES (@d1,@d2,@d3,@d4,@d5)";
cmd = new OleDbCommand(cd);
cmd.Connection = con;
cmd.Parameters.AddWithValue("d1", txtBillNo.Text);
cmd.Parameters.AddWithValue("d2", l.SubItems[1].Text);
cmd.Parameters.AddWithValue("d3", l.SubItems[2].Text);
cmd.Parameters.AddWithValue("d4", l.SubItems[3].Text);
cmd.Parameters.AddWithValue("d5", l.SubItems[4].Text);
cmd.ExecuteNonQuery();
}
我不知道clear()
做什么,但最有可能的是关闭连接或做一些其他副作用。我将把clear()
移到for
循环的外面。
const string cd = @"Insert into
ProductSold (BillNo,DishName,DishRate,Quantity,TotalAmount)
VALUES (@d1,@d2,@d3,@d4,@d5)";
var cmd = new OleDbCommand(cd) { Connection = con };
foreach (var l in Listview1.Items)
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("d1", txtBillNo.Text);
cmd.Parameters.AddWithValue("d2", l.SubItems[1].Text);
cmd.Parameters.AddWithValue("d3", l.SubItems[2].Text);
cmd.Parameters.AddWithValue("d4", l.SubItems[3].Text);
cmd.Parameters.AddWithValue("d5", l.SubItems[4].Text);
cmd.ExecuteNonQuery();
}
clear();