![]() |
Datenbank: Interbase • Version: 6.0 • Zugriff über: TIB etc
Variables Handling mit TIBStoredProc
Morgen,
ich rätsel hier ein wenig herum wie ich am besten mit einer TIBStoredProc umgehe, um mit dieser beliebige Proceduren auf dem SQL Server zu starten. Wenn ich eine TBIStoredProc für mehrere Proceduren benutzen möchte, dann muss ich mich wahrscheinlich darum kümmern das die Parameter gelöscht und neu erstellt werden. Dies wollte ich auch tun, aber mir ist noch nicht ganz klar wie ich die Parameter wieder heraus gelöscht bekomme.
Delphi-Quellcode:
Laut params.count sind 3 Parameter vorhanden, was auch korrekt ist. Aber bei #2 meckert er, dass der Index ausserhalb des gültigen Bereiches sei.
d.storedProc.StoredProcName:='NEXTFREELIEFNUMBER';
for i:=0 to d.storedProc.Params.count -1 do d.storedProc.Params.items[i].Destroy; // Bringt beim zweiten mal einen Fehler with d.storedProc.Params.CreateParam(ftstring, 'lBound', ptInput) do asstring := '000'; with d.storedProc.Params.CreateParam(ftstring, 'uBound', ptInput) do asstring := '999'; d.storedProc.Params.CreateParam(ftInteger, 'A_RETURN', ptOutput); try d.storedProc.Prepare; d.storedProc.ExecProc; finally d.storedProc.unprepare; end; dbedit1.Text:=format('%*d',[3,d.storedProc.ParamByName('A_RETURN').Asinteger]); Mit einer try except Anweisung wie es in einem der Delphi Example gelöst ist funktioniert der Auftruf der Procedure. Allerdings halte ich das für schlecht gelöst. Auch fraglich ob ich dann eine andere Procedure aufrufen kann, da falsche Parameter in der ParamListe vorhanden sein könnten. Wie geht ihr mit den StoredProcs Komponenten um. Eine für jede Procedure oder eine für alle Proceduren? |
Re: Variables Handling mit TIBStoredProc
Bei selectable SPs kann man auch eine normale Query-Komponente verwenden. Bei dieser wird bei Änderung des Abfragestrings die Parameter automatisch zurückgesetzt.
|
Re: Variables Handling mit TIBStoredProc
Hallo!
Laß Deine Schleife mal in umgekehrter Richtung laufen . Wenn DU bei I=2 angekommen bist, hast Du items[2] schon nicht mehr. der ist nämlich inzwischen items [0], da DU die anderen bereits gelöscht hast. Hope it helps onlinekater |
Re: Variables Handling mit TIBStoredProc
aua ... ist ja schon fast peinlich ;) Klar sollte man immer von hinten nach vorne löschen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz