複数の結果セットの取得

提供: RAD Studio
移動先: 案内検索

結果セットを返さないストアド プロシージャの実行 への移動


一部のストアド プロシージャは複数のレコード セットを返します。データセットを開いたときに取得されるのは、最初のレコード セットだけです。TSQLStoredProc または TADOStoredProc を使用している場合には、次のように NextRecordSet メソッドを呼び出すと、他のレコード セットにアクセスできます。

var
  DataSet2: TCustomSQLDataSet;
begin
  DataSet2 := SQLStoredProc1.NextRecordSet;
  ...
TCustomSQLDataSet *DataSet2 = SQLStoredProc1->NextRecordSet();

TSQLStoredProc で NextRecordSet を呼び出すと、新しく作成された TCustomSQLDataSet コンポーネントが返されますので、それを使用して次のレコード セットにアクセスすることができます。TADOStoredProc では、NextRecordset からインターフェイスが返され、それを既存の ADO データセットの RecordSet プロパティに割り当てることができます。どちらのクラスの場合でも、このメソッドは、返されたデータセットに含まれるレコードの数を出力パラメータとして返します。

初めて NextRecordSet を呼び出すと、2 番目のレコード セットが返されます。もう一度 NextRecordSet を呼び出すと 3 番目のレコード セットが返され、それをレコード セットがなくなるまで繰り返すことができます。それ以上のカーソルがなくなると、NextRecordSetnil を返します。

関連項目