插入数据到数据库错误参数

时间:2019-10-09 15:21:38

标签: c# sql-server sqlcommand

我想将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

有人知道是什么问题吗?

2 个答案:

答案 0 :(得分:3)

您尚未在SQL语句中关闭右括号。

答案 1 :(得分:0)

在您的代码中,您似乎在Insert语句中缺少“)”。