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 for SQL Server 所建立的。 一個 的 SqlError 實例由 SqlErrorCollection創建並管理,而 又由類別創建 SqlException 。
嚴重程度等級為 10 或以下的訊息具有資訊性,表示因使用者輸入資訊錯誤而產生的問題。 11到16的嚴重程度等級由使用者產生,並可由使用者自行修正。 17至25的嚴重程度表示軟體或硬體錯誤。 當發生第 17、18 或 19 級錯誤時,你可以繼續工作,但可能無法執行特定語句。
當嚴重程度低於19時,該系統 SqlConnection 仍保持開放。 當嚴重程度達到 20 或以上時,伺服器通常會關閉 SqlConnection。 不過,使用者可以重新開啟連線並繼續使用。 在這兩種情況下,a SqlException 都是由執行指令的方法產生。
關於SQL Server產生錯誤的更多資訊,請參見資料庫引擎 Errors。 欲了解更多嚴重程度資訊,請參見 資料庫引擎 錯誤嚴重性。
屬性
| 名稱 | Description |
|---|---|
| Class |
會取得 SQL Server 回傳錯誤的嚴重程度。 |
| LineNumber |
取得包含錯誤的 Transact-SQL 指令批次或儲存程序中的行號。 |
| Message |
會看到描述錯誤的文字。 |
| Number |
會得到一個編號,用來辨識錯誤的類型。 |
| Procedure |
取得產生錯誤的儲存程序或遠端程序呼叫(RPC)名稱。 |
| Server |
取得產生錯誤的 SQL Server 實例名稱。 |
| Source |
會取得產生錯誤的提供者名稱。 |
| State |
會取得錯誤時唯一的狀態代碼。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的 物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
會取得錯誤訊息的完整文字。 |