IDbCommand インターフェイス

定義

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

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

次の例では、派生クラス、、、およびのインスタンスを作成し SqlConnection SqlCommand 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インターフェイスを使用すると、継承クラスは、データソースで実行される 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 (文字列 cmdText、PrvConnection connection) クエリのテキストと PrvConnection を使用して、PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand (文字列 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()

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

適用対象

こちらもご覧ください