ExecuteScript: wie komme ich an das Ergebnis?

SQL Express von Boris Borzic

Moderator: Moderatoren

Antworten
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

ExecuteScript: wie komme ich an das Ergebnis?

Beitrag von satmax »

Mit folgender simpler Abfrage erhalte ich im Management Studio die genauen Größen der DB, Index usw. ermitteln. Zurück kommen 2 Abfrageergebnisse mit je 1 Zeile.

Code: Alles auswählen

USE myDb
EXEC sp_spaceused

Ausführen als Script geht ja noch einfach:

Code: Alles auswählen

TEXT INTO cScript WRAP
USE myDb
EXEC sp_spaceused
ENDTEXT

oStmt:=SQLStatement():New(nil, oConn)
oStmt:ExecuteScript(cScript)
Aber wie komme ich nun an das Ergebnis dieser Zeilen? Cursor habe ich ja keinen.
Gruß
Markus
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: ExecuteScript: wie komme ich an das Ergebnis?

Beitrag von georg »

Hallo, Markus -


grundsätzlich (zumindest laut Dokumentation) geht das :ExecuteScript() davon aus, dass keine Ergebnisse zurückgeliefert werden.

Alternativ könnte ich mir vorstellen, das Ergebnis innerhalb des Scriptes in eine temporäre Tabelle zu schreiben und diese dann via SQLSelect() auszulesen. Mangels MS SQL (ich vermute mal, dass Du selbiges einsetzt) kann ich das aber leider nicht ausprobieren.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: ExecuteScript: wie komme ich an das Ergebnis?

Beitrag von satmax »

georg hat geschrieben:Hallo, Markus -


grundsätzlich (zumindest laut Dokumentation) geht das :ExecuteScript() davon aus, dass keine Ergebnisse zurückgeliefert werden.

Alternativ könnte ich mir vorstellen, das Ergebnis innerhalb des Scriptes in eine temporäre Tabelle zu schreiben und diese dann via SQLSelect() auszulesen. Mangels MS SQL (ich vermute mal, dass Du selbiges einsetzt) kann ich das aber leider nicht ausprobieren.
Hallo Georg,

genau so habe ich es nun gelöst.
Gruß
Markus
Antworten