搜索了不同的解决方案,但没有任何效果。我具有用于注册用户的相同代码,并且工作正常,在此代码中找不到问题
SqlConnection sql = new SqlConnection(@"Data Source=(LocalDB) Security=True;Connect Timeout=30");
sql.Open();
cmd = new SqlCommand("INSERT INTO [MenuItem](User, Order1, Order2, Order3, VALUES(@User, @Order1,
@Order2, @Order3", sql);
cmd.Parameters.AddWithValue("@User", label20.Text);
cmd.Parameters.AddWithValue("@Order1", checkBox1.Text);
cmd.Parameters.AddWithValue("@Order2", checkBox2.Text);
cmd.Parameters.AddWithValue("@Order3", checkBox3.Text);
cmd.ExecuteNonQuery();
sql.Dispose();
答案 0 :(得分:1)
USER
是T-SQL中的保留关键字;避免将其用作对象名称。如果这样做,则必须定界标识它。 ([User]
。
您在SQL中也缺少右括号,并带有一个逗号:...Order3) VALUES ...
答案 1 :(得分:1)
我也会引用用户一词:
cmd = new SqlCommand(@"INSERT INTO [MenuItem]([User], Order1, Order2, Order3)
VALUES(@User, @Order1, @Order2, @Order3)", sql);
通常建议避免使用与保留字相同的列(在SSMS中几乎突出显示所有内容),因为这意味着您必须将名称包装在方括号中,而且相当难看
答案 2 :(得分:0)
由于您缺少一些sudo pypy -m ensurepip
sudo pypy -m pip install flask
,因此您的错误属于语法格式。
看看这个查询示例:
)
答案 3 :(得分:0)
您的错误仅在于查询的语法。
这是您的SQL查询的正确语法:
INSERT INTO [dbo].[MenuItem] ([User], [Order1], [Order2], [Order3]) VALUES (@User, @Order1, @Order2, @Order3)
只是一点建议:
即使您可以避免提及“ dbo”,也要使用它,否则您的数据库将不得不搜索它。