添加用户方法不起作用:“关键字'User'附近的语法不正确

时间:2015-06-05 08:26:16

标签: c# sql sql-server

当我尝试执行以下代码时出现以下错误。

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

2 个答案:

答案 0 :(得分:4)

用户是SQL中的关键字。把它放入括号[User]

答案 1 :(得分:0)

因此,即使您有一个名为User的表,它也是SQL Server中的保留关键字。要逃避这种情况,请使用[User]

string sql = "INSERT INTO User (Username, Password) VALUES(@Username, @Password)";