SqlError 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
收集与SQL Server返回的警告或错误相关的信息。
public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
- 继承
-
SqlError
- 属性
示例
以下示例显示 SqlError 集合中的每个内容 SqlErrorCollection 。
public static void ShowSqlException(string connectionString)
{
string queryString = "EXECUTE NonExistantStoredProcedure";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
DisplaySqlErrors(ex);
}
}
}
private static void DisplaySqlErrors(SqlException exception)
{
for (int i = 0; i < exception.Errors.Count; i++)
{
Console.WriteLine("Index #" + i + "\n" +
"Error: " + exception.Errors[i].ToString() + "\n");
}
Console.ReadLine();
}
Public Sub ShowSqlException(ByVal connectionString As String)
Dim queryString As String = "EXECUTE NonExistantStoredProcedure"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
Try
command.Connection.Open()
command.ExecuteNonQuery()
Catch ex As SqlException
DisplaySqlErrors(ex)
End Try
End Using
End Sub
Private Sub DisplaySqlErrors(ByVal exception As SqlException)
Dim i As Integer
For i = 0 To exception.Errors.Count - 1
Console.WriteLine("Index #" & i & ControlChars.NewLine & _
"Error: " & exception.Errors(i).ToString() & ControlChars.NewLine)
Next i
Console.ReadLine()
End Sub
注解
发生错误时,.NET Framework Data Provider为SQL Server创建此类。 由类创建SqlException和管理SqlErrorCollection的实例SqlError。
严重级别为 10 或更低级别的消息是信息性的,并指示用户输入的信息错误导致的问题。 从 11 到 16 的严重性级别由用户生成,可由用户更正。 从 17 到 25 的严重性级别表示软件或硬件错误。 发生级别 17、18 或 19 错误时,可以继续工作,尽管可能无法执行特定语句。
当严重级别为 19 或更少时,仍 SqlConnection 保持打开状态。 当严重级别为 20 或更大时,服务器通常会关闭 。SqlConnection 但是,用户可以重新打开连接并继续。 在这两种情况下,执行命令的方法将生成 a SqlException 。
有关SQL Server生成的错误的详细信息,请参阅 数据库引擎 Errors。 有关严重性级别的详细信息,请参阅 数据库引擎 错误严重性。
属性
| 名称 | 说明 |
|---|---|
| Class |
获取从SQL Server返回的错误的严重级别。 |
| LineNumber |
获取包含错误的 Transact-SQL 命令批处理或存储过程中的行号。 |
| Message |
获取描述错误的文本。 |
| Number |
获取标识错误类型的数字。 |
| Procedure |
获取生成错误的存储过程或远程过程调用(RPC)的名称。 |
| Server |
获取生成错误的SQL Server实例的名称。 |
| Source |
获取生成错误的提供程序的名称。 |
| State |
获取错误的唯一状态代码。 |
方法
| 名称 | 说明 |
|---|---|
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| ToString() |
获取错误消息的完整文本。 |