【问题标题】:Trying to execute sql query but error occur like Syntax error (missing operator) in query expression尝试执行 sql 查询,但出现查询表达式中的语法错误(缺少运算符)等错误
【发布时间】:2015-06-08 02:36:32
【问题描述】:

我正在尝试执行以下查询,但发生错误,例如

Syntax error (missing operator) in query expression 9 ORDER BY empSalary.ID DESC.

cmd.CommandText = "UPDATE EmpSalary SET emp_Advance=" & TextBox7.Text & ",emp_salary=" & TextBox4.Text & " ORDER BY empSalary.ID DESC"

【问题讨论】:

  • 您确定可以在 UPDATE 查询中使用 ORDER BY 吗?
  • UPDATE EmpSalary SET emp_Advance=" & TextBox7.Text & ",emp_salary=" & TextBox4.Text WHERE <where clause>
  • TextBox4.Text 中的值是什么?如果它是 1,2345.56 之类的东西,那么请停在这里并阅读有关参数化查询的信息。顺便说一句,UPDATE 查询中的 ORDER BY 没有任何意义。请注意,如果没有 WHERE 子句,此命令(当您设法使其工作时)将更新表中的所有记录

标签: sql vb.net


【解决方案1】:

首先,您不应该将字符串直接连接到您的 sql。这是一个安全风险。谷歌sql注入。 相反,您应该使用参数化查询或存储过程。

其次,oreder by 部分在此类查询中没有任何意义,这可能是您得到此异常的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多