SQL错误:附近关键字'用户'的语法不正确 [英] SQL error: Incorrect syntax near the keyword 'User'
本文介绍了SQL错误:附近关键字'用户'的语法不正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用SQL使用C#如下插入数据到SQL数据库文件。
字符串CS = System.Configuration.ConfigurationManager.ConnectionStrings [连接1]的ConnectionString。
康涅狄格州的SqlConnection =新的SqlConnection(CS);
SQL字符串=INSERT INTO用户(登录,密码状态)+
VALUES(@login,@Password,@status);
的SqlCommand COMM =新的SqlCommand(SQL,conn);在 comm.Parameters.Add(@登陆,System.Data.SqlDbType.VarChar);
comm.Parameters.Add(@密码,System.Data.SqlDbType.VarChar);
comm.Parameters.Add(@地位,System.Data.SqlDbType.Bit); 尝试
{
conn.Open();
Console.WriteLine(conn.ToString());
comm.ExecuteNonQuery();
conn.Close();
返回true;
}
赶上(异常前)
{
扔(除息);
}
最后
{
conn.Close();
}
我收到命令时正在执行下面的错误。
关键字附近有语法错误
'用户'.: INSERT INTO用户(登录,
密码状态)VALUES(@login,
@密码,@status)
块引用>我怎样才能解决这个问题吗?
编辑:
错过添加的参数值。comm.Parameters [@登录]值= this.Username。
comm.Parameters [@密码]值= this._password。
comm.Parameters [@状态]值= this.Status。
解决方案
用户
是一个保留关键字的,所以你必须使用方括号,清楚你的意思是的对象的命名为用户它,即用[用户]
而不是用户
。I am using SQL to insert data to SQL Database file using C# as follows.
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(); }
I am getting the following error when command is executing.
Incorrect syntax near the keyword 'User'.: INSERT INTO User (login, password, status) VALUES (@login, @password, @status)
How can I solve this please?
edit: missed parameter values added..
comm.Parameters["@login"].Value = this.Username; comm.Parameters["@password"].Value = this._password; comm.Parameters["@status"].Value = this.Status;
解决方案
User
is a reserved keyword, so you must use square brackets to make it explicit that you mean the object named "User" it, i.e. use[User]
instead ofUser
.这篇关于SQL错误:附近关键字'用户'的语法不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文