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 *

 

posted @ 2017-09-21 14:22  ostartech  阅读(21518)  评论(0编辑  收藏  举报