Hus*_*ren 0 sql sql-server parameter-passing
我正在尝试将新行添加到我拥有的表中.该数据库是MSSQL.我有一些其他表一直工作正常,但当我做了一个新的我不能添加新的行.相反,我收到此错误消息:
"System.Data.dll中出现'System.Data.SqlClient.SqlException'类型的异常,但未在用户代码中处理
附加信息:关键字"用户"附近的语法不正确."
我不知道为什么...
VS2013中的代码看起来像这样
public void Update_Admin(User User)
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO Admin (User, Password) VALUES (@User, @Password);", con))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@User", SqlDbType.VarChar).Value = User.UserName;
cmd.Parameters.Add("@Password", SqlDbType.VarChar).Value = User.Password;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道进来的价值观是真实的.谁知道错了?
表格看起来像这样
CREATE TABLE [dbo].[Admin] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[User] VARCHAR (50) NULL,
[Password] VARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
Run Code Online (Sandbox Code Playgroud)
);
你必须逃避这个词User:
using (SqlCommand cmd = new SqlCommand("INSERT INTO Admin ([User], Password) VALUES (@User, @Password);", con))
Run Code Online (Sandbox Code Playgroud)