我試圖向表中添加一個新行。數據庫是一個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])...」至少消除一個可能的原因 –
你真的不應該以純文本形式存儲密碼。他們應該被鹽漬和散開。 –