Einzelnen Beitrag anzeigen

borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Verwendung einer Stored Procedure

  Alt 28. Apr 2010, 17:58
Es gibt zwei Typen von SP

Der eine Typ von SP gibt eine Ergebnissmenge zurück. Dann ist in der SP zwingend ein SUSPEND pro Datensatz notwendig.
Dann geht das was mkinzler vorgeschlagen hat
select <Felder> from <SP_Name>(<InputParameter>) where <Bedingung>; und den Aufruf in Delphi dazu
Delphi-Quellcode:
Query.Open;
  while not Query.EOF do ........
Ist in der SP kein SUSPEND oder man bekommt genau einen Datensatz, dann muss ich einen anderen Weg in Delphi wählen.
onkelthom war schon auf dem richtigen Weg. Der Resultwert kann erst nach der Ausführung mit ExecProc abgerufen werden.
Vorher gibt es noch keinen Wert.
So sollte es funktionieren

Delphi-Quellcode:
IBOStoredProc1.ParamByName('pANZAHL').asInteger; //Parameter den die Prodezur zum ausführen braucht
IBOStoredProc1.Prepare;
IBOStoredProc1.ExecProc;
// Nach dem Exec
iRESULT := IBOStoredProc1.ParamByName('pRESULT').asInteger; // Der Rückgabewert Paremeter den die Prozedur als Result zurück liefert.
DM.DataModule1.IBOTransaction1.CommitRetaining;
Gruß Borwin
  Mit Zitat antworten Zitat