我想将DataGridView数据插入到我使用参数的数据库中
这些是我的数据库文件
CREATE TABLE [dbo].[Tbl_Order] (
[Name] VARCHAR (50) NULL,
[Price] INT NULL,
[Quantity] INT NULL,
[Total] INT NULL
);
这些是我的代码
SqlConnection con = new SqlConnection("Data Source=DESKTOP-R34C6VV\\SQL;Initial Catalog=Student_Databse_2019_HW1;Integrated Security=True");
con.Open();
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++ )
{
SqlCommand cmd = new SqlCommand("INSERT INTO Tbl_Order(Name, Price, Quantity, Total) values(@Name, @Price, @Qty, @Total",con);
cmd.Parameters.AddWithValue("@Name", dataGridView1.Rows[i].Cells[0].Value);
cmd.Parameters.AddWithValue("@Price", dataGridView1.Rows[i].Cells[1].Value);
cmd.Parameters.AddWithValue("@Qty", dataGridView1.Rows[i].Cells[2].Value);
cmd.Parameters.AddWithValue("@Total", dataGridView1.Rows[i].Cells[3].Value);
cmd.ExecuteNonQuery();
}
con.Close();
dataGridView1.Rows.Clear();
我在此代码cmd.ExecuteNonQuery();上有一个错误
它说 System.Data.dll中发生了类型为'System.Data.SqlClient.SqlException'的未处理的异常 其他信息:“ @ Total”附近的语法不正确。
我的DataGridView中有4个字段
Name , Price , Qty , Total
有人知道是什么问题吗?
答案 0 :(得分:3)
您尚未在SQL语句中关闭右括号。
答案 1 :(得分:0)
在您的代码中,您似乎在Insert语句中缺少“)”。