Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
识别c#中的sql异常?_C# - Fatal编程技术网

识别c#中的sql异常?

识别c#中的sql异常?,c#,C#,如何捕获带有错误代码(错误号)的sql异常,以确定在c#中准确抛出了哪个异常? 例如,数据库处于脱机状态或其他表中存在引用行,因此sql不允许我删除行,但如何准确地确定catch中的问题,以便在我的应用程序中向用户显示消息您需要将数据库代码放入中,然后重试。。。捕获block,然后(假设您对SQL Server使用ADO.NET)捕获SqlException try { // your database code here } catch(SqlException sqlEx) {

如何捕获带有错误代码(错误号)的sql异常,以确定在c#中准确抛出了哪个异常?
例如,数据库处于脱机状态或其他表中存在引用行,因此sql不允许我删除行,但如何准确地确定catch中的问题,以便在我的应用程序中向用户显示消息

您需要将数据库代码放入
中,然后重试。。。捕获
block,然后(假设您对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
对象,这些对象非常详细地描述了发生的错误,包括行号、错误代码和所有内容


其他数据库将有类似的结构-检查您的文档

在.net异常类层次结构中,为每种类型的异常指定了特定的编号。您可以在

您使用什么库与db交互?链接返回“此页面不存在”。