【发布时间】:2011-08-30 06:11:49
【问题描述】:
我正在使用 SQL 将数据插入到使用 C# 的 SQL 数据库文件中,如下所示。
String cs = System.Configuration.ConfigurationManager.ConnectionStrings["connection1"].ConnectionString;
SqlConnection conn = new SqlConnection(cs);
String sql = "INSERT INTO User (login, password, status) " +
"VALUES (@login, @password, @status)";
SqlCommand comm = new SqlCommand(sql, conn);
comm.Parameters.Add("@login", System.Data.SqlDbType.VarChar);
comm.Parameters.Add("@password", System.Data.SqlDbType.VarChar);
comm.Parameters.Add("@status", System.Data.SqlDbType.Bit);
try
{
conn.Open();
Console.WriteLine(conn.ToString());
comm.ExecuteNonQuery();
conn.Close();
return true;
}
catch (Exception ex)
{
throw (ex);
}
finally
{
conn.Close();
}
执行命令时出现以下错误。
关键字附近的语法不正确 '用户'。:插入用户(登录, 密码,状态)值(@login, @密码,@状态)
请问我该如何解决?
编辑: 添加了错过的参数值..
comm.Parameters["@login"].Value = this.Username;
comm.Parameters["@password"].Value = this._password;
comm.Parameters["@status"].Value = this.Status;
【问题讨论】:
-
这是一个 C# 错误吗?听起来像是 SQL 错误。
-
@CodeInChaos - 重新标记;更好?
-
@Marc 我说的是主题而不是标签。
标签: c# sql sql-server tsql reserved-words