Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mehrere Resultsets (https://www.delphipraxis.net/40537-mehrere-resultsets.html)

Dietmar 17. Feb 2005 10:21

Datenbank: MSSQL • Version: 2000 • Zugriff über: ADO

mehrere Resultsets
 
Hallo,
wenn ich im QueryAnalyser folgenden SQL eingebe und ausführe
SQL-Code:
   
USE msdb
EXEC sp_help_job @job_name = 'Meine Sicherung'
erhalte 4 Resultsets ... das ist auch soweit gut.

In meiner Anwendung verwende ich TADOStoredProc um die StoredProcedure auszuführen.
Hier bekomme aber nur ein bzw. nur das erste Resultset gegenüber dem vom QueryAnalyser.

Was muss ich tun, damit ich auf alle 4 Ergebnisse zugreifen und darstellen kann?

Gruss und Dank
Dietmar

shmia 17. Feb 2005 11:00

Re: mehrere Resultsets
 
Zitat:

Zitat von Dietmar
wenn ich im QueryAnalyser folgenden SQL eingebe und ausführe
SQL-Code:
   
USE msdb
EXEC sp_help_job @job_name = 'Meine Sicherung'
erhalte 4 Resultsets ... das ist auch soweit gut.

In meiner Anwendung verwende ich TADOStoredProc um die StoredProcedure auszuführen.
Hier bekomme aber nur ein bzw. nur das erste Resultset gegenüber dem vom QueryAnalyser.
Was muss ich tun, damit ich auf alle 4 Ergebnisse zugreifen und darstellen kann?

Gleichzeitig anzeigen geht wohl nicht.
Du kannst aber auf das nächste Resultset weiterschalten:
Delphi-Quellcode:
ADODataSet1.RecordSet := ADOStoredProc1.NextRecordset
Das ganze ist aber doch ziemlich experimentell, da die VCL auf mehrere Resultsets nicht vorbereitet ist.

Dietmar 17. Feb 2005 11:58

Re: mehrere Resultsets
 
@shmia,
Danke.

Zitat:

Gleichzeitig anzeigen geht wohl nicht.
Du kannst aber auf das nächste Resultset weiterschalten:
Naja, dann werden dafür 4 Grids verwendet.
Dafür habe ich dann folgendes ausprobiert:
Delphi-Quellcode:
ADODataSet1.RecordSet := ADOStoredProc1.Recordset;
ADODataSet2.RecordSet := ADOStoredProc1.NextRecordset(nRecordsAffected);
ADODataSet3.RecordSet := ADOStoredProc1.NextRecordset(nRecordsAffected);
ADODataSet4.RecordSet := ADOStoredProc1.NextRecordset(nRecordsAffected);
Leider bekomme ich bei der 4ten Zuweisung einen Fehler (Stack-Überlauf).
Und das 4te Grid ist leer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz