2011-05-18 21 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