我试图向表中添加一个新行。数据库是一个MSSQL。我有一些其他表格已经工作得很好,但是当我做了一个新的表,我不能添加新的行。相反,我收到此错误信息:当我试图插入表格时,获得一个奇怪的“语法错误”
“类型‘System.Data.SqlClient.SqlException’的异常出现在System.Data.dll中,但在用户代码中没有处理
附加信息:附近有语法错误关键字'用户'。“
我不知道为什么...
在VS2013代码lookes这样
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)
);
我不认为MSSQL被爆冷战胜关键词;但是,以防万一你试图在你的插入语句中围绕用户和密码放置括号吗? “INSERT INTO Admin([User],[Password])...”至少消除一个可能的原因 –
你真的不应该以纯文本形式存储密码。他们应该被盐渍和散开。 –