fuer dummies: procedure - und wie weiter?

15/03/2010 - 18:47 von Nicole Wagner | Report spam
Hallo User,


meine Firebird-Procedure laeuft.
Sie scheint bei Stichproben sogar richtig zu rechnen.

Nur: Wie komme ich jetzt via Delphi an die Ergebnisse ran?



Ich habe meinen Aufruf aus Delphi:

IBSQL_.SQL.Text:='EXECUTE myPROCEDURE (1,'abc',2);';



Die Procedure schreibt ihre Ergebnisse in Vars, also z.B.
myOutputVar1, myOutputVar2.

Ich habe mir jetzt fuer Delphi sowas gebaut:
while not IBSQL_.Eof do
begin
out_name:=IBSQL_.FieldByName('myOutputVar1').AsString;
.
IBSQL_Tiger.Next;
end;


Das sieht nicht nur falsch aus, ;-(
Wie geht es richtig?

=
noch eine andere Frage.
Ist moeglich als SQL zu schreiben:



Select myId as verarbeite_id
from tbEineTabelle
Where.;

EXECUTE myPROCEDURE (1, verarbeite_id, 2);





und wenn ja, wie syntaktisch richtig?



Danke fuer Tipps!
Nicole
 

Lesen sie die antworten

#1 Peter Lange
15/03/2010 - 19:13 | Warnen spam
Am 15.03.2010 18:47, schrieb Nicole Wagner:
Hallo User,



Hallo,

meine Firebird-Procedure laeuft.
Sie scheint bei Stichproben sogar richtig zu rechnen.

Nur: Wie komme ich jetzt via Delphi an die Ergebnisse ran?

Ich habe meinen Aufruf aus Delphi:

IBSQL_.SQL.Text:='EXECUTE myPROCEDURE (1,'abc',2);';




IBSQL_.SQL.Text := 'SELECT * FROM myPROCEDURE(1, 'abc',2)';
IBSQL_.Open;


Die Procedure schreibt ihre Ergebnisse in Vars, also z.B.
myOutputVar1, myOutputVar2.

Ich habe mir jetzt fuer Delphi sowas gebaut:
while not IBSQL_.Eof do
begin
out_name:=IBSQL_.FieldByName('myOutputVar1').AsString;
.
IBSQL_Tiger.Next;
end;



Das sollte so richtig sein.

hth
Peter

Ähnliche fragen