我正在使用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(); }
执行命令时出现以下错误。
关键字“ User”附近的语法不正确。:INSERT INTO用户(登录名,密码,状态)VALUES(@ login,@ password,@ status)
请问该如何解决?
编辑: 缺少的参数值添加..
comm.Parameters["@login"].Value = this.Username; comm.Parameters["@password"].Value = this._password; comm.Parameters["@status"].Value = this.Status;
User是一个保留关键字,因此必须使用方括号将其明确表示您的名称为“ User” 的 对象 ,即使用[User]代替User。
User
[User]