更新 : 2007 年 11 月
ほとんどのストアド プロシージャは複数の結果セットを返します。このようなストアド プロシージャには、通常は 1 つ以上の SELECT ステートメントが含まれます。コンシューマは、この点を考慮してすべての結果セットを処理する必要があります。
複数の結果セットを処理するには
CMultipleResults をテンプレート引数とし、任意のアクセサを使用して CCommand クラスを作成します。通常は、動的アクセサまたは手動アクセサを使用します。他の種類のアクセサを使用すると、各行セットの出力列を判断できない場合があります。
通常どおりにストアド プロシージャを実行し、列を連結します。「データのフェッチ」を参照してください。
データを使用します。
CCommand クラスで GetNextResult を呼び出します。別の結果行セットが使用可能な場合、GetNextResult は S_OK を返します。手動アクセサを使用している場合は、列を再連結する必要があります。GetNextResult からエラーが返された場合、使用可能な結果セットはありません。