本文將和大家討論一些關於找SQL 錯誤的問題。
現在的系統基本都是需要用到數據庫的,既然用到數據庫我們就要寫SQL 腳本,常用的做法是現在Microsoft Sql Server Management Sudio寫好調試好,然后貼到
代碼中,但這樣就能保證我們的SQL 腳本正常運行嗎?那如果帶參數的SQL 或存儲過程出現問題呢?如果數據出現問題,我們應該怎么找出錯誤的SQL 呢?
帶着這個疑問,開始我們今天的討論。以前用代碼和數據庫打交道,出現數據問題,我們會打個斷點一步一步的調試,就像這樣:
先找出可能出錯的SQL ,一步一步調試
,直到找出這個語句,然后貼到 數據庫中執行 :
似乎這種方法的確能解決絕大多數情況,但是帶參數的存儲過程該怎么辦呢,估計這也是多數程序員不愛用存儲的原因之一吧(調試費勁).
其實微軟已經給我我們一個很好用的跟蹤調試工具Sql Server Profiler(事件查看器),這個工具可以全程跟蹤數據庫的變化,當然扣SQL、存儲更不是問題了.
繼續我們剛才簡單的SQL的調試,看看在 Sql Server Profiler 中的狀態:
是不是和我們剛才在代碼中調試的SQL 結果一致.
調試存儲才是我們使用它的最重要的目的之一,下面我們演示帶參數存儲過程的調試過程:
這樣我們是不是很清楚的看到我們的數據庫腳本,就連參數寫的對不對我們都能一樣看出來.
執行結果如下:
如果你想用一個存儲達到上圖紅色圓圈的效果(字母數字組合,並按照數字自增)的效果,請參考
有了事件查看器,害怕找不出SQL 的錯誤嗎,你是否樂意去寫使用它了調試存儲呢?
由於很多人不知道有這樣一個工具存在,筆者特做了一些簡單的介紹,如果幫助到你,別忘了推薦一下.