次の方法で共有


SqlException.Errors プロパティ

定義

.NET Framework SQL Server 用データ プロバイダーが生成する例外の詳細情報を提供する、1 つ以上の SqlError オブジェクトのコレクションを取得します。

public:
 property System::Data::SqlClient::SqlErrorCollection ^ Errors { System::Data::SqlClient::SqlErrorCollection ^ get(); };
public System.Data.SqlClient.SqlErrorCollection Errors { get; }
member this.Errors : System.Data.SqlClient.SqlErrorCollection
Public ReadOnly Property Errors As SqlErrorCollection

プロパティ値

収集された、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

注釈

クラスには SqlErrorCollection 常に、 クラスのインスタンスが SqlError 少なくとも 1 つ含まれています。

これは の SqlErrorCollectionラッパーです。 SQL Server エンジン エラーの詳細については、「データベース エンジンのイベントとエラー」を参照してください。

適用対象

こちらもご覧ください