手動アクセサーの使用
不明なコマンドを取り扱う際には、次の 4 つのことを行います。
パラメーターを確認する
コマンドを実行する
出力列を確認する
複数の戻り行セットがあるかどうかを確認する
これらの操作を OLE DB コンシューマー テンプレートを使って行うには、CManualAccessor
クラスを使用し、次の手順に従います。
CManualAccessor
をテンプレート パラメーターとして使用して、CCommand
オブジェクトを開きます。CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
IDBSchemaRowset
インターフェイスに対するセッションをクエリで照会し、プロシージャ パラメーター行セットを使用します。IDBSchemaRowset
インターフェイスが使用できない場合は、ICommandWithParameters
インターフェイスに対してクエリを実行します。GetParameterInfo
を呼び出して情報を取得します。 どちらのインターフェイスも使用できない場合は、パラメーターがないと考えることができます。パラメーターごとに、
AddParameterEntry
を呼び出してパラメーターを追加し、それらを設定します。行セットを開きます。ただし、bind パラメーターは
false
に設定します。GetColumnInfo
を呼び出して出力列を取得します。AddBindEntry
を使用して、出力列をバインドに追加します。GetNextResult
を呼び出して、使用可能な行セットがさらにあるかどうかを確認します。 手順 2 から 5 を繰り返します。
手動アクセサーの例については、DBVIEWER サンプルの CDBListView::CallProcedure
をご覧ください。