2011-05-18 16 views
3

如何捕捉SQL例外,其錯誤代碼(沒有錯誤),以確定哪些異常在C#正好扔? 例如數據庫脫機或者有其他表引用行,以便SQL不會允許我刪除行,但究竟如何我能確定的是在抓這個問題,這樣我可以在我的應用程序中顯示信息給用戶在C#中標識SQL異常?

+0

一些有用的材料,具體的數字? – 2011-05-18 05:10:48

回答

8

你需要把你的數據庫代碼放到一個try ... catch塊,和(假設你使用針對SQL Server ADO.NET)然後趕上SqlException

try 
{ 
    // your database code here 
} 
catch(SqlException sqlEx) 
{ 
    foreach(SqlError error in sqlEx.Errors) 
    { 
     // you can inspect the individual errors, their code etc. here 
    } 
} 

SqlException對象將包含描述的很詳細發生的錯誤SqlError對象的集合 - 行號,錯誤代碼和一切。

其他數據庫將具有類似的結構 - 檢查你的文檔!

+0

日Thnx的幫助 – Shaishav7 2011-05-18 06:58:06

1

有分配到.NET Exception類層次各類型的異常,你會發現,你使用的是什麼庫與數據庫進行交互超過here

+0

日Thnx的幫助這種材料是非常好的。 – Shaishav7 2011-05-18 06:58:28

+0

的歡迎編碼快樂:) – Devjosh 2011-05-18 07:00:15

+0

鏈接返回「此頁面不存在」。 – willem 2016-04-28 10:13:18