所谓操作符丢失,应该是你在拼接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 *