• SQL语句:语法错误(操作符丢失)在查询表达式中


     所谓操作符丢失,应该是你在拼接SQL语句是少了关键词或者分隔符,导致系统无法识别SQL语句。
    建议:
    1、监控SQL语句,看看哪里出现问题;断点看下最后的sql到底是什么样子就知道了,另外你可以把这段sql放在查询分析器下面让他帮你检查下语法。
    2、有条件的话,将监控的值放到MS-SQLserver中执行以下,错误就知道在哪里了。
    3、可以的话不要用这种拼接方式,很容易出错而且不好调试。建议使用SQL自带的parma来添加参数
    4、由于这种拼接方式是将所有字段作为字符串处理,因此遇到日期型和数值型的数据的时候会很麻烦,尤其是日期型数据。

    特别是使用“+”、“&”等拼接的语句看起来麻烦,用于网络还可能被注入攻击。

    查询的是Excel中的Sheet1中表格的内容
    me.txtpre1.text至me.txtpre1.text为文本内容,me.txtsum1.text至me.txtsum5.text为数值
    查询时提示:sql语法错误(操作符丢失)
    Dim strExcelSelect As String = "SELECT  料号,�**,�**,�*** , ***�,[***],[**(pcs)],[**(cm)],[**(cm)],[**(cm)],[**(kg)] FROM [Sheet1$] where 料号 in ('" + Me.txtpre1.Text + "','" + Me.txtpre2.Text + "','" + Me.txtpre3.Text + "','" + Me.txtpre4.Text + "','" + Me.txtpre5.Text + "') And 数量 in (" + Me.txtsum1.Text + "," + Me.txtsum2.Text + "," + Me.txtsum3.Text + "," + Me.txtsum4.Text + "," + Me.txtsum5.Text + ")"
    字符串的查询语句不是打括号,而是打单引号。
    应该改成:"dept_id='"& deptids & "'"

    如果参数deptids有多个,需要用逗号连接的形式(如:'A','B','C' 注意要单引号,如果不是字符串格式,就直接是A,B,C就可以了),SQL语句需改成"dept_id in ("& deptids & ")"

     由错误信息可知是SQL语句中有错误

    错误所在没找到.

    解决:

    将查询语句改为select *

  • 相关阅读:
    CentOS设置密码复杂度及过期时间等
    CentOS开启telnet连接
    Centos6.5升级openssh至7.4版本
    Centos7搭建SVN服务器
    Centos7.2yum安装时候出现db5错误的解决办法
    在Centos中yum安装和卸载软件的使用方法(转)
    Centos6.5 恢复误删的系统面板
    ecmall 2.3.0 最新补丁20140618
    ecmall在linux下的安装注意事项(转)
    PHP Strict standards:Declaration of … should be compatible with that of…(转)
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/7568418.html
Copyright © 2020-2023  润新知