次の方法で共有


手動アクセサーの使用

不明なコマンドを取り扱う際には、次の 4 つのことを行います。

  • パラメーターを確認する

  • コマンドを実行する

  • 出力列を確認する

  • 複数の戻り行セットがあるかどうかを確認する

これらの操作を OLE DB コンシューマー テンプレートを使って行うには、CManualAccessor クラスを使用し、次の手順に従います。

  1. CManualAccessor をテンプレート パラメーターとして使用して、CCommand オブジェクトを開きます。

    CCommand<CManualAccessor, CRowset, CMultipleResults> rs;
    
  2. IDBSchemaRowset インターフェイスに対するセッションをクエリで照会し、プロシージャ パラメーター行セットを使用します。 IDBSchemaRowset インターフェイスが使用できない場合は、ICommandWithParameters インターフェイスに対してクエリを実行します。 GetParameterInfo を呼び出して情報を取得します。 どちらのインターフェイスも使用できない場合は、パラメーターがないと考えることができます。

  3. パラメーターごとに、AddParameterEntry を呼び出してパラメーターを追加し、それらを設定します。

  4. 行セットを開きます。ただし、bind パラメーターは false に設定します。

  5. GetColumnInfo を呼び出して出力列を取得します。 AddBindEntry を使用して、出力列をバインドに追加します。

  6. GetNextResult を呼び出して、使用可能な行セットがさらにあるかどうかを確認します。 手順 2 から 5 を繰り返します。

手動アクセサーの例については、DBVIEWER サンプルの CDBListView::CallProcedure をご覧ください。

関連項目

アクセサーの使用