前言
今天跟大家分享一下,我們初學者在做上位機開發中,關於SQL語句的四種常見的語法錯誤。
常見錯誤1
錯誤提示:“(”附近有語法錯誤。
《C#程序》的錯誤提示:
解決方案
【問題分析】:只要是有SQL語句的地方,提示“附近有語法錯誤的”解決方法都是一個思路,那就是調試SQL語句!所謂調試SQL語句,就是運行程序,在錯誤出來後,不要停止程序,直接觀察SqlCommand對象裏面封裝的sql語句具體是什麼,比如我們觀察:
把鼠標放到sql上面,然後點擊“放大鏡”圖標,選擇“文本可視化工具”,打開窗口:
技巧,剛纔提示是“(”附近有語法錯誤,那“(”在哪裏?很顯然Sql語句裏面只有into和values後面有“(”,那我們觀察一下values也沒寫錯,括號裏面的也沒有錯誤。那就在看into後面,發現into後面應該是有“表名稱”結果沒寫,所以,就出錯誤了。通過這個我們就能得出技巧,所謂“****”附近有語法錯誤,就是找到這個符號,然後看他的前後部分,仔細看,肯定能發現問題。
【其他技巧】:我們觀察sql語句變量,也可以通過窗口的“局部變量”找到sql,然後點擊放大鏡來觀察。
【問題解決】:找到問題後,我們只要改成如下就行了:
常見錯誤2
錯誤信息02:“,”附近有語法錯誤。
《C#程序》的錯誤提示:
解決方案
【問題分析】:上面說逗號附近有語法錯誤,解決問題的方式還是上面的方法,調試Sql如下:
這時候一定要仔細,因爲“,”很多,前面字段名後面的逗號一般沒問題,那你就看values後面的逗號,如果你細心的話,你會發發現,原來“韓老師”前面少了半個單引號“'”,你給它填上就解決了。如果你說我就看不出來,還有辦法,你把上面的sql語句複製到數據庫中去觀察,效果如下:
這樣就很清楚了。第一個“韓老師”那裏就劃線了。至於說後面的劃線,不用擔心,有時候前後會有影響,找問題,一定要從第一個錯誤地方修改,修改後,其他錯誤可能就沒有了,比如下面的效果:
【問題解決】:知道了問題,接下來去C#程序修改就行了。
常見錯誤3
錯誤信息03:“’”附近有語法錯誤。《C#程序》的錯誤提示:
解決方案
【解決方法】:這個問題我們就不在多說了,就是剛纔修改的時候,把“半角的單引號”改成了“全角的單引號”,在這裏特別提醒大家,寫SQL語句的時候,所有的內容,都必須是“英文半角”狀態纔行!所以,遇到這種問題,一定要自己檢查。
【特別提示】:我們前面一直強調“調試SQL語句”,一定要通過sql變量觀察,得到SQL語句,而不能直接複製C#程序中的原始代碼,有的學員說,我複製代碼過來了,在數據庫中能執行啊,爲啥還有錯誤?請你記住,你能在數據庫中執行的sql語句,在C#程序裏面提交永遠都不可能出錯!唯一可能錯誤的就是你用的方法不對,你測試的sql語句,根本就不是調試後,生成的SQL語句!
常見錯誤4
錯誤信息04:“EmployeeId”附近有語法錯誤。《C#程序》的錯誤提示:
解決方案
【問題分析】:同樣都是附近有語法錯誤,這個問題解決,如果你只是看,初學者可能還是沒法直接看出來,所以,還是用我們講的調試SQL語句出來,看看EmployeeId的前後,具體是什麼,調試結果如下:
【問題解決】:很明顯,where和前面的表名連接到一塊了,缺少了空格,我們只需要在where前面添加一個空格就行了,如下:
整體總結
以後凡是見到“附近有語法錯誤”的情況下,同時檢查sql語句拼接的時候,前後空格問題。這個是初學者經常犯的錯誤。
我是新閣上位機開發的曉曉老師,用我的專業,成就你的夢想!