Wie kann ich mehrere Resultsets aus einer gespeicherten Prozedur verwenden.?
Die meisten gespeicherte Prozeduren zurückgeben mehrere Resultsets. Eine solche gespeicherte Prozedur enthält in der Regel eine oder mehrere select-Anweisungen. Der Verbraucher muss dies alle Resultsets behandeln zu berücksichtigen.
Legt mehrere Resultsets behandeln:
-
Erstellen Sie eine CCommand -Klasse mit CMultipleResults als Vorlagenargument und der Accessor Ihrer Wahl. Das wird in der Regel einen dynamischen oder manuellen Accessor. Wenn Sie einen anderen Accessortyp verwenden, können Sie nicht in der Lage, die Ausgabespalten für jedes Rowset festzulegen werden.
-
Führen Sie die gespeicherte Prozedur wie gewohnt und binden Sie die Spalten (siehe wie ich Daten abrufen?).
-
Verwenden Sie die Daten.
-
Rufen Sie GetNextResult auf die CCommand -Klasse. Wenn ein anderer Ergebnisrowset verfügbar ist, gibt GetNextResult S_OK zurück, und Sie sollten Ihre Spalten binden, wenn Sie einen manuellen Accessor verwenden. Wenn GetNextResult einen Fehler zurückgibt, gibt es keine weiteren Resultsets verfügbar.