使用c#vs2008 winforms。Winforms窗體處理最佳實踐中的Sql異常
我的標準形式具有
形式負載
SqlConnection對象打開一個典型的使用模式。
讀/寫數據集採用sqldataadaptors
讀取使用SQL的讀者很多東西
使用存儲過程編寫
關閉SQL連接
密切形式
在處理異常因此,whats最佳實踐寫了許多數據在這種類型的使用模式 中,我使用try catch子句將所有讀取和寫入代碼放在sql服務器中以捕獲異常。
那麼當我陷入異常時我該怎麼辦?
我應該關閉並處理所有的sql對象嗎?
我應該關閉窗體並處理窗體。
我應該嘗試讓用戶繼續
我應該嘗試重新打開我的sqlconnection,如果異常是sql連接斷開了?
鑑於我打開和關閉表單加載和關閉連接,因爲它只有在理論上打開一次,並關閉一次與許多讀寫中間。
我只是不確定我應該採取什麼行動,當我陷入異常,以防止內存和資源泄漏。
任何意見讚賞
感謝
另外SqlCommand是IDisposable。總是檢查框架類的MSDN文檔,看他們是否實現IDisposable;如果是這樣,請使用「使用」塊以確保及時處理它們。 – Polyfun
如果您是死鎖受害者(錯誤1205),則整個事務將回滾,因此如果您重試,請確保從頭重試事務(再次執行事務中的所有語句)。 – Polyfun
http://stackoverflow.com/questions/320636/how-to-get-efficient-sql-server-deadlock-handling-in-c-with-ado –