我一直在使用以下方法在C#中捕获SQL异常代码:
catch (SqlException x)
{
Console.WriteLine(x.Message.ToString());
Program.MyLogFile("SQL Upload Failed SQL Exception ", x.ErrorCode.ToString() +" ", today);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
Program.MyLogFile("SQL Upload Failed All Exeption ", ex.Message.ToString() + " ", today);
email();
}
它在文本文件中给出了以下数字。我怎么知道这意味着什么?
错误代码:-2146232060 我正在使用SQL 2012
答案 0 :(得分:2)
考虑使用SqlException.Number属性,如下所示:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception.number.aspx
如果您在SQL Server中查询此错误消息,如果您想使用一个特定的错误代码并执行某些操作,这将更好地理解错误消息:
SELECT * FROM sysmessages
如果从上面的查询中查看错误:104,然后: 示例如果在sql中出现了Union和Order By的错误:
catch (SqlException e)
{
switch (e.Number)
{
case 104:
// Do something.
break;
default:
throw;
}
}