当我试图插入表格时,得到一个奇怪的“语法错误”

时间:2015-06-25 14:51:56

标签: 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();
        }
    }

我知道进来的价值是真的。谁知道错了?

表格如下所示

CREATE TABLE [dbo].[Admin] (
[Id]       INT          IDENTITY (1, 1) NOT NULL,
[User]     VARCHAR (50) NULL,
[Password] VARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)

);

1 个答案:

答案 0 :(得分:6)

你必须逃避单词User

using (SqlCommand cmd = new SqlCommand("INSERT INTO Admin ([User], Password) VALUES (@User, @Password);", con))