コマンドとテーブル

コマンドとテーブルを使用すると、行セットにアクセスする (行セットを開き、コマンドを実行して、列をバインドする) ことができます。 CCommand クラスと CTable クラスを使用すると、それぞれコマンド オブジェクトとテーブル オブジェクトのインスタンスが作成されます。 これらのクラスは、次の図に示すように、CAccessorRowset から派生します。

Diagram showing the relationship between CCommand and CTable.
コマンド クラスとテーブル クラス

前の表では、TAccessor は「アクセサー型」に示されている任意のアクセサー型にすることができます。 TRowset は、「行セット型」に示されている任意の行セット型にすることができます。 TMultiple では、結果の種類 (単一または複数の結果セット) を指定します。

ATL OLE DB コンシューマー ウィザードでは、コマンドまたはテーブル オブジェクトを必要とするかどうかを指定できます。

  • コマンドのないデータソ ースの場合は、CTable クラスを使用できます。 通常は、パラメーターを指定せず、複数の結果を必要としない単純な行セットに使用します。 この単純なクラスによって、ユーザーが指定したテーブル名を使用して、データ ソースのテーブルが開かれます。

  • コマンドをサポートするデータソースの場合は、代わりに CCommand クラスを使用できます。 コマンドを実行するには、このクラスで Open を呼び出します。 別の方法として、Prepare を呼び出して、複数回実行するコマンドを準備することもできます。

    CCommand には、アクセサー型、行セット型、および結果型 (既定では CNoMultipleResults、または CMultipleResults) の 3 つのテンプレート引数があります。 CMultipleResults を指定した場合、CCommand クラスでは IMultipleResults インターフェイスをサポートし、複数の行セットを処理します。 DBVIEWER のサンプルは、複数の結果を処理する方法を示します。

関連項目

OLE DB コンシューマー テンプレート