c#
  • mysql
  • mysql-connector
  • 2014-08-31 58 views -2 likes 
    -2

    我面對一個未處理的異常說 檢查對應於您的MySQL服務器版本正確的語法手冊使用 附近'表「WHERE列=‘值’」在1號線 時執行MySqlDataReader.ExecuteReader()。 這是示例查詢MySQL的WHERE語法錯誤

    SELECT column1,column2,column3,column3 " + 
        "FROM 'table' " + 
        "WHERE column='" + value + "'"; 
    

    哪個值字符串(UTF8)的。 我試圖搜索WHERE語法錯誤,但無法弄清楚查詢中的錯誤在哪裏。

    +2

    這甚至還沒有接近有效的SQL。它看起來被錯誤地從大的背景中撕下來(並且問題中的好上下文*意味着很多*)。無論如何,在命令參數中使用*參數查詢*。 – user2864740 2014-08-31 04:09:19

    +0

    @ user2864740在這個查詢中,什麼使它「甚至不接近有效的SQL」?除了表格名稱的單引號之外,該查詢沒有任何錯誤 – 2014-08-31 04:20:11

    +0

    @Hanky웃Panky事實上,它是從C#表達式的字符串字面串聯再次上下文。 – user2864740 2014-08-31 04:30:03

    回答

    0

    對MySQL表的名字不應該是引號內

    'table' 
    

    您可以使用反引號(')如果需要的話,而不是單或雙引號。例如

    SELECT column1,column2,column3,column3 FROM `table` 
    

    和你WHERE條款是好的

    +0

    此規則是否僅適用於MySQL?btw,爲什麼我在表格中使用了單引號沒有使用它XD。謝謝。 – witoong623 2014-08-31 04:15:59

    +0

    無法列出這是所有的數據庫但是對於MySQL來說,它確實是 – 2014-08-31 04:18:35

    0

    你可以在MySQL中使用

    ` 
    

    而不是'

    相關問題