C# 将数据插入到数据库错误参数中
我想将我的DataGridView数据插入我使用参数的数据库 这些是我的数据库文件C# 将数据插入到数据库错误参数中,c#,sql-server,sqlcommand,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 S
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();
SqlConnection con=newsqlconnection(“数据源=DESKTOP-R34C6VV\\SQL;初始目录=Student\u database\u 2019\u HW1;集成安全性=True”);
con.Open();
对于(int i=0;i
我在这个代码cmd.ExecuteNonQuery()上有一个错误
上面说
System.Data.dll中发生“System.Data.SqlClient.SqlException”类型的未处理异常
其他信息:“@Total”附近的语法不正确。
我的DataGridView中有4个字段名称、价格、数量、总数
有人知道问题出在哪里吗?您的SQL语句中没有关闭圆括号。从代码中看,您的Insert语句中似乎缺少一个“)” 数据库是Quantity,c#是Quantity。似乎SQL末尾缺少了最后一个括号statement@jdweng我也把它改成了数量,但仍然不起作用。你是不是看不起答案?这里也有一些可疑和次优的东西。A) 存储类似于易于计算的总数的内容是一个坏主意,B)
Add(string,dbType)。Value=…
比AddWithValue更可取C)您的数据库提供程序对象将乐意且轻松地为您更新数据库,而无需通过DGV进行代码查询。在参数方面做得很好-很高兴看到:(我没有注意到这一点,非常感谢在azhar khorasany的帮助Good spot@azhar khorasany