c#
  • sql
  • ms-access
  • select
  • oledb
  • 2013-07-17 134 views 0 likes 
    0

    因此,可以說我有一個數據庫表,ErrorsSQL選擇字符串與關鍵字

    [ID] [ErrorDescription] 
        1  "SELECT Name LIKE '*A*' Returned 0 Results" 
        2  "SELECT Returned Multiple Results" 
    

    ,我想運行像

    SELECT ID 
    FROM Errors 
    WHERE ErrorDescription = 'SELECT Name LIKE '*A*' Returned 0 Results' 
    

    查詢有沒有一種辦法,使這項工作?目前,我發現了一個

    OLEDB異常「語法錯誤(缺少操作員)在查詢表達式」

    當我嘗試使用OleDbDataAdapter上運行一個MS Access文件查詢。我環顧四周,找不到任何與此有關的東西,很多關於使用方括號的關鍵字列名稱,但不是我特別的問題。

    回答

    3

    有逃脫單引號,否則你混淆瞭解析器:

    SELECT ID FROM Errors WHERE ErrorDescription ='SELECT Name LIKE ''*A*'' Returned 0 Results' 
    
    0

    你可以參數化該查詢。但是,無論你如何處理這個問題,你都需要避開引號。

    SELECT ID FROM Errors WHERE ErrorDescription ='SELECT Name LIKE ''*A*'' Returned 0 Results' 
    
    0

    問題是你的字符串,這將導致解析器LIKE後結束串在第一次報價字面內有單引號。您的查詢更改爲:

    SELECT ID 
    FROM Errors 
    WHERE ErrorDescription ='SELECT Name LIKE ''*A*'' Returned 0 Results' 
    
    相關問題