当我尝试执行以下代码时出现以下错误。
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
Additional information: Incorrect syntax near the keyword 'User'.
不要介意添加用户部分背后的安全性,因为这是一个仅用于学习目的的测试项目。
public void AddUser(User user) {
SqlConnection con = new SqlConnection("Server=localhost;Database=Community;User Id=XXX;Password=XXX;");
string sql = "INSERT INTO User (Username, Password) VALUES(@Username, @Password)";
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.AddWithValue("@Username", user.Username);
cmd.Parameters.AddWithValue("@Password", user.Password);
cmd.ExecuteNonQuery();
}
答案 0 :(得分:4)
用户是SQL中的关键字。把它放入括号[User]
答案 1 :(得分:0)
因此,即使您有一个名为User
的表,它也是SQL Server中的保留关键字。要逃避这种情况,请使用[User]
:
string sql = "INSERT INTO User (Username, Password) VALUES(@Username, @Password)";