Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误消息156 C#保存失败_C#_Datagridview_Sqlcommand - Fatal编程技术网

错误消息156 C#保存失败

错误消息156 C#保存失败,c#,datagridview,sqlcommand,C#,Datagridview,Sqlcommand,我使用这段代码有一段时间了,它突然停止工作,并在keywork“Transaction”附近给出了错误,这是我的数据表名 我就是找不到任何问题,你能帮我吗?多谢各位 这是我的密码 try { foreach (DataGridViewRow items in dataGridView1.Rows) { conn.Close(); conn.Open();

我使用这段代码有一段时间了,它突然停止工作,并在keywork“Transaction”附近给出了错误,这是我的数据表名 我就是找不到任何问题,你能帮我吗?多谢各位

这是我的密码

 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();