在列表视图中插入项目到数据库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项添加帮助请?

在列表视图中插入项目到数据库c#

我认为你可以使用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();