IDbCommand インターフェイス

定義

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

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

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

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

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

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

注意 (実装者)

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

インターフェイスから 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

この IDbCommand のインスタンスで使用する IDbConnection を取得または設定します。

Parameters

IDataParameterCollection を取得します。

Transaction

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

UpdatedRowSource

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

メソッド

Cancel()

IDbCommand の実行のキャンセルを試行します。

CreateParameter()

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

Dispose()

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

(継承元 IDisposable)
ExecuteNonQuery()

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

ExecuteReader()

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

ExecuteReader(CommandBehavior)

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

ExecuteScalar()

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

Prepare()

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

適用対象

こちらもご覧ください