Mehrere Ergebnismengen abrufen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gespeicherte Prozeduren ausführen, die keine Ergebnismenge liefern


Einige Stored Procedures geben mehrere Datensatzgruppen zurück. Die Datenmenge ruft beim Öffnen nur die erste Gruppe ab. Wenn Sie mit Objekten vom Typ TSQLStoredProc oder TADOStoredProc arbeiten, können Sie auf die übrigen Datensatz-Ergebnismengen zugreifen, indem Sie die Methode NextRecordSet aufrufen:

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

Bei TSQLStoredProc wird beim Aufrufen von NextRecordSet eine neu erstellte TCustomSQLDataSet-Komponente zurückgegeben, die den Zugriff auf die nächste Gruppe von Datensätzen ermöglicht. Bei TADOStoredProc gibt die Methode NextRecordSet eine Schnittstelle zurück, die der Eigenschaft RecordSet einer vorhandenen ADO-Datenmenge zugewiesen wird. Bei beiden Klassen gibt die Methode die Anzahl der Datensätze in der zurückgegebenen Datenmenge als Ausgabeparameter zurück.

Wenn Sie also die Methode NextRecordSet zum ersten Mal aufrufen, gibt sie eine Datenmenge für die zweite Datensatzgruppe zurück. Wenn Sie NextRecordSet erneut aufrufen, gibt sie eine dritte Datenmenge zurück usw., bis keine weiteren Datensatzgruppen mehr vorliegen. Sind keine weiteren Cursor vorhanden, gibt NextRecordSet nil zurück.

Siehe auch