将listview中的项插入数据库C# for(int i=0;i
我不知道将listview中的项插入数据库C# for(int i=0;i,c#,C#,我不知道clear()有什么作用,但很可能是关闭了连接或产生了其他副作用。我会将clear()移动到for循环的外部 for (int i = 0; i <= ListView1.Items.Count - 1; i++) { string cd = "Insert Into ProductSold(BillNo,DishName,DishRate,Quantity,TotalAmount) VALUES (@
clear()
有什么作用,但很可能是关闭了连接或产生了其他副作用。我会将clear()
移动到for
循环的外部
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();
}
我不知道
clear()
的作用是什么,但很可能是关闭连接或产生其他副作用。我会将clear()
移动到for
循环的外部
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();
}
我想你可以用foreach循环 试试这个
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();
我想你可以用foreach循环 试试这个
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();
你可以使用foreach loop你可以使用foreach loop我认为你是对的,它清除了连接内容,这可能会导致关闭连接,先生!它成功了:)非常感谢!你能给我一些建议吗,先生listview1.item是一个对象,您试图用字符串调用它,因此foreach每次都会帮助您调用listview中的字符串。。正如@RichardSchneider所说,clear将关闭连接,因此它不会再次循环。。我认为您是对的,它正在清除连接内容,这可能会导致连接被关闭,长官!成功了:)非常感谢!你能给我一些建议吗,先生listview1.item是一个对象,您试图用字符串调用它,因此foreach每次都会帮助您调用listview中的字符串。。正如@RichardSchneider所说,clear将关闭连接,因此它不会再次循环。。是的,先生,您是对的。问题很明显。是的,先生,你说得对。问题很明显。为此受到赞扬。