![]() |
Re: INSERT - Statement wird nicht ausgeführt
Hallo,
mit dem Thread wollte ich nur zeigen, dass u.U. ParamByName('ID') nicht klappt. 1. Was bringt denn ShowMessage(InsertEntryQuery.Params[0].Name) als Namen überhaupt ? 2. Hast du jetzt ExecSQL oder Open genommen ? 3. Welche ZEOS-Version ? Heiko |
Re: INSERT - Statement wird nicht ausgeführt
Hi hoika,
Zitat:
Zitat:
Ich habe daraufhin in das INSERT-STATEMENT "ID" und :id wieder eingefügt. Dann steht dort "id", der Rückgabewert ist aber 0. So kann das also nicht gehen. Zitat:
Zitat:
|
Re: INSERT - Statement wird nicht ausgeführt
Wenn du In-Parameter hast, ist der Rückgabeparamter natürlich der erste nach den Input-Parametern
|
Re: INSERT - Statement wird nicht ausgeführt
Ich hab deine Aussage jetzt so interpretiert:
Delphi-Quellcode:
und bin damit auf die Nase gefallen:
EntryID := InsertEntryQuery.Params[9].AsInteger; //8 In-Parameter
Code:
:gruebel:
---------------------------
dgHaushaltsbuch --------------------------- Listenindex überschreitet das Maximum (9) --------------------------- OK --------------------------- |
Re: INSERT - Statement wird nicht ausgeführt
Achtung 0-indiziert
Delphi-Quellcode:
EntryID := InsertEntryQuery.Params[8].AsInteger; //8 In-Parameter
|
Re: INSERT - Statement wird nicht ausgeführt
Dann bekomme ich aber für
Delphi-Quellcode:
den Wert "exp_lux". Und der Rückgabewert ist 0. Das Showmessage wird nach dem ExecSQL; ausgeführt.
ShowMessage(InsertEntryQuery.Params[8].Name);
|
Re: INSERT - Statement wird nicht ausgeführt
Dann scheint es ein Problem von Zeos zu sein.
|
Re: INSERT - Statement wird nicht ausgeführt
Zitat:
Hmm, naja, einem geschenkten Gaul... Dann muss ich mir die ID halt über ein separates SELECT-Statement holen. Nicht schön, aber funktioniert hoffentlich... |
Re: INSERT - Statement wird nicht ausgeführt
Hallo,
was für ein Wert steht denn nach dem Insert in RowsAffected? Sprich: Wurde das Insert überhaupt ausgeführt? Habe gerade mal in den Sourcen von Zeos nach ExecSQL gesucht. Dort kann ich keine Stelle finden, an der ein von der Datenbank gelieferter Rückgabewert irgendwie an die Komponente zurückgegeben wird. Habe nur kurz und oberflächlich gesucht, könnte daher was übersehen haben. Prüf' doch bitte zuerst einmal, ob die Rückgabemöglichkeit von Werten der Firebirddatenbank mit den Zeoskomponenten überhaupt zu realisieren ist. Bei TZStoredProc.ExecProc scheint es eine entsprechende Möglichkeit zu geben. Eventuell eröffnet das Dir ja eine Hintertür, indem Du das Insert per Stored Procedure machst und der Prozedur die Parameter übergibst. |
Re: INSERT - Statement wird nicht ausgeführt
Oder Notfalls als Execution block in einem normalen Statement, dann als Ergebnis
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 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