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 *

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM