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