コマンドとテーブルを使用して、行セットにアクセスできます。つまり、行セットを開き、コマンドを実行し、列をバインドできます。 CCommand クラスと CTable クラスは、それぞれコマンド オブジェクトとテーブル オブジェクトをインスタンス化します。 次の図に示すように、これらのクラスは CAccessorRowset の派生クラスです。
コマンド クラスとテーブル クラス
前の表では、TAccessor は「アクセサーと行セット」に示されている任意の種類のアクセサーになります。 TRowset は、「アクセサーと行セット」に示されている任意の種類の行セットにすることができます。 TMultiple では、結果の種類 (単一または複数の結果セット) を指定します。
ATL OLE DB コンシューマー ウィザードで、コマンド オブジェクトとテーブル オブジェクトのどちらが必要かを指定します。
コマンドを使用しないデータ ソースでは、CTable クラスを使用できます。 このクラスは一般に、パラメーターを指定せず、複数の結果を必要としない単純な行セットに使用します。 この単純なクラスは、指定されたテーブル名を使用してデータ ソースのテーブルを開きます。
コマンドをサポートするデータ ソースでは、代わりに CCommand クラスを使用できます。 コマンドを実行するには、このクラスに対して Open を呼び出します。 または、Prepare を呼び出して、複数回実行するコマンドを準備することもできます。
CCommand には、アクセサーの種類、行セットの種類、および結果の種類 (既定では CNoMultipleResults または CMultipleResults) の 3 つのテンプレート引数があります。 CMultipleResults を指定すると、CCommand クラスは IMultipleResults インターフェイスをサポートし、複数の行セットを処理します。 DBVIEWER サンプルは、複数の結果を処理する方法を示しています。