所謂操作符丟失,應該是你在拼接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 *