【发布时间】:2015-12-15 11:03:44
【问题描述】:
我正在编写代码并得到一个我不知道从哪里来的语法错误。这是我正在使用的代码:
string u = "select uniqcode from login where users='" + textBoxX1.Text + "' ";
这是我得到的错误:
"查询表达式 ''select uniqcode 中的语法错误(缺少运算符) 来自用户='someuser'''的登录名。” (System.Data.OleDb.OleDbException)A System.Data.OleDb.OleDbException 被抛出:“查询表达式中的语法错误(缺少运算符) ''select uniqcode from login where users='someuser' ''."
【问题讨论】:
-
你应该绑定参数而不是连接 SQL 字符串,因为用户可以在文本框中写入诸如
'; DROP TABLE ... ;--之类的东西 -
为什么列
users是复数形式?您是否存储多个用户逗号分隔?? -
什么意思?!你能详细说明一下吗?!
-
SQL 参数(OLEDB):msdn.microsoft.com/en-us/library/…
-
@AfshinHaghighat 你试过
u = "select uniqcode from login where users=?";然后u.Parameters.Add("@users", OleDbType.VarChar).value = textBoxX1.Text;