我一次又一次地检查,但找不到任何错误
private void Btn_Save_Click(object sender, EventArgs e)
{
SqlConnection c = new SqlConnection(conn);
c.Open();
for (int i = 0; i < dgv.Rows.Count; i++)
{
query = @"INSERT INTO '" + tbpg.Text + "' VALUES ("
+ dgv.Rows[0].Cells["Sno"].Value + ", "
+ dgv.Rows[i].Cells["Date"].Value + ","
+ dgv.Rows[0].Cells["Particulars"].Value + ", "
+ dgv.Rows[0].Cells["Credit"].Value + ", "
+ dgv.Rows[0].Cells["Debit"].Value + ","
+ dgv.Rows[0].Cells["Balance"].Value +
");";
}
SqlCommand cmd = new SqlCommand(query,c);
cmd.ExecuteNonQuery();
答案 0 :(得分:0)
尝试以下代码
query = @"INSERT INTO " + tbpg.Text + " VALUES ("
+ dgv.Rows[0].Cells["Sno"].Value + ", "
+ dgv.Rows[i].Cells["Date"].Value + ","
+ dgv.Rows[0].Cells["Particulars"].Value + ", "
+ dgv.Rows[0].Cells["Credit"].Value + ", "
+ dgv.Rows[0].Cells["Debit"].Value + ","
+ dgv.Rows[0].Cells["Balance"].Value +
");";
答案 1 :(得分:0)
如此大量的字符串连接,您需要在调试期间输出查询的最终值。否则你基本上猜测它的样子。
我注意到这一行有所不同:
+ dgv.Rows[i].Cells["Date"].Value + ","
你正在使用i,而不是0。
但通常通过字符串连接构建查询并不是一个好主意。你应该使用Parametized Queries。否则你最终会在这个笑话的错误方面: https://xkcd.com/327/