SqlError クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server から返された警告またはエラーに関する情報を収集します。
public ref class SqlError sealed
public sealed class SqlError
[System.Serializable]
public sealed class SqlError
type SqlError = class
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
- 継承
-
SqlError
- 属性
例
次の例では、コレクション内の各 をSqlErrorSqlErrorCollection表示します。
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
注釈
このクラスは、エラーが発生したときにSQL Server用の.NET Framework データ プロバイダーによって作成されます。 の SqlError インスタンスは によって SqlErrorCollection作成および管理され、 クラスによって SqlException 作成されます。
重大度レベルが 10 以下のメッセージは情報メッセージで、ユーザーの入力ミスによってエラーが発生した場合に表示されます。 11 から 16 までの重大度レベルはユーザーによって生成され、ユーザーが修正できます。 重大度レベルが 17 ~ 25 のエラーは、ソフトウェアまたはハードウェアのエラーです。 レベル 17、18、または 19 のエラーが発生した場合は、特定のステートメントを実行できない可能性がありますが、作業を続行できます。
重大度レベルが 19 以下の場合、SqlConnection は開いたままです。 重大度レベルが 20 以上のときは、通常、サーバーは SqlConnection を閉じます。 ただし、ユーザーは接続を再び開き、続行できます。 どちらの場合も、コマンドを実行しているメソッドによって SqlException が生成されます。
SQL Serverによって生成されるエラーの詳細については、「データベース エンジン エラー」を参照してください。 重大度レベルの詳細については、「 データベース エンジン エラーの重大度」を参照してください。
プロパティ
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() |
エラー メッセージの完全なテキストを取得します。 |
適用対象
こちらもご覧ください
.NET