Lea*_*ner 7 c# ado.net sqlexception
我想以不同的方式处理不同的问题,同时进行数据库操作.
例如,由于数据库凭据错误或由于网络问题,操作可能会失败.或者它可能会失败,因为查询不正确(如果在int类型列中传递字符串值)
在我的C#代码中,我们只有SqlException哪些集合SqlErrors.但是有很多严重程度.
如何轻松识别SqlException的原因?如何确定异常是由于连接问题或身份验证失败或由于查询问题.
我正在使用SQL Server 2005.
JPR*_*ddy 10
尝试这样的事情,这将有助于您处理不同的条件.
使用这样的try catch块:
try
{
...
...
}
catch (SqlException ex)
{
switch (ex.Number)
{
case 4060: // Invalid Database
....
break;
case 18456: // Login Failed
....
break;
case 547: // ForeignKey Violation
....
break;
case 2627:
// Unique Index/ Primary key Violation/ Constriant Violation
....
break;
case 2601: // Unique Index/Constriant Violation
....
break;
default:
....
break;
}
}
Run Code Online (Sandbox Code Playgroud)