IDbCommand インターフェイス

定義

データ ソースへの接続中に実行され、リレーショナル データベースにアクセスする.NET データ プロバイダーによって実装される SQL ステートメントを表します。

public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
    interface IDisposable
Public Interface IDbCommand
Implements IDisposable
派生
実装

次の例では、派生クラス、 SqlConnectionSqlCommand、および SqlDataReaderのインスタンスを作成します。 この例では、データを読み取り、コンソールに書き込みます。 最後に、 SqlDataReaderSqlConnectionを閉じます。

private static void ReadOrderData(string connectionString)
{
    string queryString =
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        using(SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
    }
}
Public Sub ReadOrderData(ByVal connectionString As String)
    Dim queryString As String = _
        "SELECT OrderID, CustomerID FROM dbo.Orders;"
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()
        Dim reader As SqlDataReader = command.ExecuteReader()
        Try
            While reader.Read()
                Console.WriteLine(String.Format("{0}, {1}", _
                    reader(0), reader(1)))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

注釈

IDbCommand インターフェイスを使用すると、継承クラスは、データ ソースで実行される SQL ステートメントを表す Command クラスを実装できます。 コマンド クラスの詳細については、「 コマンドの実行」を参照してください。

アプリケーションは、 IDbCommand インターフェイスのインスタンスを直接作成するのではなく、 IDbCommand インターフェイスを実装するクラスのインスタンスを作成します。

IDbCommandを実装するクラスは、そのすべてのメンバーを実装し、通常はプロバイダー固有の機能を追加するために追加のメンバーを定義する必要があります。 たとえば、 IDbCommand インターフェイスは、 ExecuteNonQuery メソッドを定義します。 さらに、 SqlCommand クラスはこのメソッドを継承し、 ExecuteXmlReader メソッドも定義します。

注意 (実装者)

.NET Framework データ プロバイダー間の一貫性を高めるために、継承クラスに PrvClassname 形式で名前を付けます。ここで、 Prv は、特定の .NET Framework データ プロバイダー名前空間内のすべてのクラスに与えられる統一プレフィックスです。 たとえば、Sqlは、SqlCommand名前空間のSystem.Data.SqlClient クラスのプレフィックスです。

IDbCommand インターフェイスから継承する場合は、次のコンストラクターを実装する必要があります。

項目 説明
PrvCommand() PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand(string cmdText) クエリのテキストを使用して、PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand(string cmdText, PrvConnection connection) クエリのテキストと PrvConnection を使用して、PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) クエリのテキスト、PrvConnection、および PrvTransaction を使用して、PrvCommand クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
CommandText

データ ソースに対して実行するテキスト コマンドを取得または設定します。

CommandTimeout

コマンドの実行の試行を終了してエラーを生成するまでの待機時間 (秒単位) を取得または設定します。

CommandType

CommandText プロパティの解釈方法を示すか指定します。

Connection

IDbConnectionのこのインスタンスによって使用されるIDbCommandを取得または設定します。

Parameters

IDataParameterCollection を取得します。

Transaction

.NET データ プロバイダーの Command オブジェクトが実行されるトランザクションを取得または設定します。

UpdatedRowSource

DbDataAdapterUpdate(DataSet) メソッドで使用する場合に、コマンドの結果をDataRowに適用する方法を取得または設定します。

メソッド

名前 説明
Cancel()

IDbCommandの実行を取り消そうとします。

CreateParameter()

IDbDataParameter オブジェクトの新しいインスタンスを作成します。

Dispose()

アンマネージド リソースの解放、解放、またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

(継承元 IDisposable)
ExecuteNonQuery()

.NET データ プロバイダーの Connection オブジェクトに対して SQL ステートメントを実行し、影響を受けた行数を返します。

ExecuteReader()

CommandTextに対してConnectionを実行し、IDataReaderをビルドします。

ExecuteReader(CommandBehavior)

CommandTextに対してConnectionを実行し、IDataReader値のいずれかを使用してCommandBehaviorをビルドします。

ExecuteScalar()

クエリを実行し、クエリによって返された結果セットの最初の行の最初の列を返します。 追加の列または行は無視されます。

Prepare()

準備済み (またはコンパイル済み) バージョンのコマンドをデータ ソースに作成します。

適用対象

こちらもご覧ください