SqlException 类

备注
 

每当 SQL Server .NET Framework 数据提供程序遇到服务器生成的错误时,都将创建此类。(客户端错误作为标准的公共语言运行库异常引发。)SqlException 始终包含至少一个 SqlError 实例。

严重级别小于等于 10 的消息是信息性消息,它们指示由用户输入的信息中的错误所导致的问题。严重级别 11 至 16 的消息是由用户生成的,可以由用户更正。严重级别 17 至 25 的消息指示软件或硬件错误。当发生严重级别为 17、18 或 19 的错误时,虽然可能无法执行特定语句,但仍可以继续工作。

当严重级别小于等于 19 时,SqlConnection 保持打开状态。当严重级别大于等于 20 时,服务器通常会关闭 SqlConnection。但是,用户可以重新打开连接并继续操作。在这两种情况下,执行命令的方法都会生成 SqlException

有关 SQL Server 所发送的警告和信息性消息的信息,请参见“SQL Server 联机丛书”中的“疑难解答”一节。SqlException 类映射到 SQL Server 严重级别。

 

eg:

 1 public static void ShowSqlException(string connectionString)
 2 {
 3     string queryString = "EXECUTE NonExistantStoredProcedure";
 4     StringBuilder errorMessages = new StringBuilder();
 5     
 6     using (SqlConnection connection = new SqlConnection(connectionString))
 7     {
 8         SqlCommand command = new SqlCommand(queryString, connection);
 9         try
10         {
11             command.Connection.Open();
12             command.ExecuteNonQuery();
13         }
14         catch (SqlException ex)
15         {
16             for (int i = 0; i < ex.Errors.Count; i++)
17             {
18                 errorMessages.Append("Index #" + i + "\n" +
19                     "Message: " + ex.Errors[i].Message + "\n" +
20                     "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
21                     "Source: " + ex.Errors[i].Source + "\n" +
22                     "Procedure: " + ex.Errors[i].Procedure + "\n");
23             }
24             Console.WriteLine(errorMessages.ToString());
25         }
26     }
27 }

 

 

转载于:https://www.cnblogs.com/watermarks/p/3599093.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值