次の方法で共有


SqlErrorCollection.Item[Int32] プロパティ

定義

指定したインデックス位置にあるエラーを取得します。

public:
 property System::Data::SqlClient::SqlError ^ default[int] { System::Data::SqlClient::SqlError ^ get(int index); };
public System.Data.SqlClient.SqlError this[int index] { get; }
member this.Item(int) : System.Data.SqlClient.SqlError
Default Public ReadOnly Property Item(index As Integer) As SqlError

パラメーター

index
Int32

取得するエラーの、0 から始まるインデックス番号。

プロパティ値

指定したインデックス位置にあるエラーを格納する 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

適用対象

こちらもご覧ください