次の方法で共有


SqlErrorCollection.Item[Int32] プロパティ

定義

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

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

パラメーター

index
Int32

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

プロパティ値

指定したインデックス位置にあるエラーを格納する SqlError

例外

インデックス パラメーターが配列の範囲外です。

次の例では、 コレクション内の各 SqlErrorSqlErrorCollection 表示します。

using Microsoft.Data.SqlClient;
using System.Text;

class Program
{
    static void Main()
    {
        string s = GetConnectionString();
        ShowSqlException(s);
        Console.ReadLine();
    }
    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();
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file.
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI";
    }
}

適用対象

こちらもご覧ください