如何获得odbcexception数字

时间:2010-07-29 05:25:25

标签: c#

在sql中我们有sqlexception.numeric但是在odbcexception中我们没有那个属性,如何获取execption数字?

2 个答案:

答案 0 :(得分:3)

由于可以在OdbcException中封装多个错误,因此您需要遍历Errors property

}
catch(OdbcException e)
{
    for (int i=0; i < e.Errors.Count; i++)
    {
        Console.WriteLine("Index #{0}", i);
        Console.WriteLine("Message: {0}", e.Errors[i].Message);
        Console.WriteLine("NativeError: {0}", e.Errors[i].NativeError.ToString());
        Console.WriteLine("Source: {0}", e.Errors[i].Source);
        Console.WriteLine("SQL: {0}", e.Errors[i].SQLState);
    }
}

(注意SqlException遇到同样的问题,只是SqlException.Number返回集合中的第一个条目 - 它只是上面循环的包装器,真的)

答案 1 :(得分:0)

查看Errors的{​​{1}}集合。每个OdbcException都有一个OdbcError属性。