コマンドとテーブル

更新 : 2007 年 11 月

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

コマンド クラスとテーブル クラス
VC_CommandsTables グラフィック

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

ATL OLE DB コンシューマ ウィザードで、コマンド オブジェクトとテーブル オブジェクトのどちらが必要かを指定します。

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

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

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

参照

概念

OLE DB コンシューマ テンプレート (C++)