错误消息156 C#保存失败
我使用这段代码有一段时间了,它突然停止工作,并在keywork“Transaction”附近给出了错误,这是我的数据表名 我就是找不到任何问题,你能帮我吗?多谢各位 这是我的密码错误消息156 C#保存失败,c#,datagridview,sqlcommand,C#,Datagridview,Sqlcommand,我使用这段代码有一段时间了,它突然停止工作,并在keywork“Transaction”附近给出了错误,这是我的数据表名 我就是找不到任何问题,你能帮我吗?多谢各位 这是我的密码 try { foreach (DataGridViewRow items in dataGridView1.Rows) { conn.Close(); conn.Open();
try
{
foreach (DataGridViewRow items in dataGridView1.Rows)
{
conn.Close();
conn.Open();
string buy_unitname = items.Cells[0].Value.ToString();
string buy_quantity = items.Cells[1].Value.ToString();
string buy_srp = items.Cells[2].Value.ToString();
string buy_transNo = items.Cells[3].Value.ToString();
string buy_date = items.Cells[4].Value.ToString();
string buy_total_srp = items.Cells[5].Value.ToString();
string buy_cart_no = items.Cells[6].Value.ToString();
string str_conn2 ="insert into Transaction(UnitName,Quantity,SRP,TransactionNumber,Date,Total_SRP,Cart_no) values (@unitname_1,@quantity_1,@srp_1,@trans_1,@date_1,@total_srp_1,@cart_no_1)";
SqlCommand sqlcomm = new SqlCommand(str_conn2, conn);
sqlcomm.Parameters.AddWithValue("@unitname_1", buy_unitname);
sqlcomm.Parameters.AddWithValue("@quantity_1", buy_quantity);
sqlcomm.Parameters.AddWithValue("@srp_1", buy_srp);
sqlcomm.Parameters.AddWithValue("@trans_1", buy_transNo);
sqlcomm.Parameters.AddWithValue("@date_1", buy_date);
sqlcomm.Parameters.AddWithValue("@total_srp_1", buy_total_srp);
sqlcomm.Parameters.AddWithValue("@cart_no_1", buy_cart_no);
sqlcomm.ExecuteNonQuery();
conn.Close();
}
我认为这里只有一件事是个问题。打开和关闭dataGridView中每一行的SQL连接可能会导致一些计时问题 可以尝试以下方法:
conn.Close();
conn.Open();
foreach (DataGridViewRow items in dataGridView1.Rows)
{
string buy_unitname = items.Cells[0].Value.ToString();
string buy_quantity = items.Cells[1].Value.ToString();
string buy_srp = items.Cells[2].Value.ToString();
string buy_transNo = items.Cells[3].Value.ToString();
string buy_date = items.Cells[4].Value.ToString();
string buy_total_srp = items.Cells[5].Value.ToString();
string buy_cart_no = items.Cells[6].Value.ToString();
string str_conn2 ="insert into Transaction(UnitName,Quantity,SRP,TransactionNumber,Date,Total_SRP,Cart_no) values (@unitname_1,@quantity_1,@srp_1,@trans_1,@date_1,@total_srp_1,@cart_no_1)";
SqlCommand sqlcomm = new SqlCommand(str_conn2, conn);
sqlcomm.Parameters.AddWithValue("@unitname_1", buy_unitname);
sqlcomm.Parameters.AddWithValue("@quantity_1", buy_quantity);
sqlcomm.Parameters.AddWithValue("@srp_1", buy_srp);
sqlcomm.Parameters.AddWithValue("@trans_1", buy_transNo);
sqlcomm.Parameters.AddWithValue("@date_1", buy_date);
sqlcomm.Parameters.AddWithValue("@total_srp_1", buy_total_srp);
sqlcomm.Parameters.AddWithValue("@cart_no_1", buy_cart_no);
sqlcomm.ExecuteNonQuery();
}
conn.Close();
我认为这里只有一件事是个问题。打开和关闭dataGridView中每一行的SQL连接可能会导致一些计时问题 可以尝试以下方法:
conn.Close();
conn.Open();
foreach (DataGridViewRow items in dataGridView1.Rows)
{
string buy_unitname = items.Cells[0].Value.ToString();
string buy_quantity = items.Cells[1].Value.ToString();
string buy_srp = items.Cells[2].Value.ToString();
string buy_transNo = items.Cells[3].Value.ToString();
string buy_date = items.Cells[4].Value.ToString();
string buy_total_srp = items.Cells[5].Value.ToString();
string buy_cart_no = items.Cells[6].Value.ToString();
string str_conn2 ="insert into Transaction(UnitName,Quantity,SRP,TransactionNumber,Date,Total_SRP,Cart_no) values (@unitname_1,@quantity_1,@srp_1,@trans_1,@date_1,@total_srp_1,@cart_no_1)";
SqlCommand sqlcomm = new SqlCommand(str_conn2, conn);
sqlcomm.Parameters.AddWithValue("@unitname_1", buy_unitname);
sqlcomm.Parameters.AddWithValue("@quantity_1", buy_quantity);
sqlcomm.Parameters.AddWithValue("@srp_1", buy_srp);
sqlcomm.Parameters.AddWithValue("@trans_1", buy_transNo);
sqlcomm.Parameters.AddWithValue("@date_1", buy_date);
sqlcomm.Parameters.AddWithValue("@total_srp_1", buy_total_srp);
sqlcomm.Parameters.AddWithValue("@cart_no_1", buy_cart_no);
sqlcomm.ExecuteNonQuery();
}
conn.Close();