Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi INSERT - Statement wird nicht ausgeführt (https://www.delphipraxis.net/138143-insert-statement-wird-nicht-ausgefuehrt.html)

Mithrandir 4. Aug 2009 11:33

Re: INSERT - Statement wird nicht ausgeführt
 
Hi Stephan,

ich bin immer noch recht unbedarft, was Datenbanken angeht, insofern verstehe ich in deinem letzten Absatz nur Bahnhof. (Edit: Gilt auch für den Beitrag von Markus. :mrgreen: ).

Zitat:

was für ein Wert steht denn nach dem Insert in RowsAffected? Sprich: Wurde das Insert überhaupt ausgeführt?
Ja, das Insert wird ausgeführt, ich kann die Daten anschließend aus der DB holen und auch IBExpert zeigt mir die Werte an.

Zitat:

Prüf' doch bitte zuerst einmal, ob die Rückgabemöglichkeit von Werten der Firebirddatenbank mit den Zeoskomponenten überhaupt zu realisieren ist.
Naja, generell bekommt man ja was zurück, allerdings muss man dafür Open; nutzen. Das wiederum geht aber nur mit SELECT und Co. (glaub ich...). Oder hab ich dich falsch verstanden?

Edit2: Ich denke einfach mal, dass das Feature von den ZEOS noch nicht unterstützt wird. Vielleicht kommts ja irgendwann mal rein...

mkinzler 4. Aug 2009 11:39

Re: INSERT - Statement wird nicht ausgeführt
 
Er meinte, das du das Insert Statement in eine SP packst, in der du den Rückgabewert dann als Ausgabefeld zurückgibst. Statt einer SP kann man den PL-Block auch direkt in einer Abfrage ausführen

PL=Procedure Language

hoika 4. Aug 2009 12:22

Re: INSERT - Statement wird nicht ausgeführt
 
Hallo,

also ich mache das immer (noch) so.

- SP aufrufen, per Gen_Id + Generator nächste ID abholen
- die ID dem Insert übergeben
im Trigger steht dann noch
if Old.ID is NULL
damit nicht noch ne ID geholt wird

Vorteil:
Funktioniert mit allen FB-Versionen
gerade bei Massenimports reicht ein gen_id(gen_name, 100)
um 100 ID'S zu belegen

Nachteil:
Ein zusätzlicher Aufruf bei jedem Insert

weitere Infos dazu hier

1
Dort nach Key Generators suchen


Heiko

PS:
Welche ZEOS-Version hast du denn nun ?
Ev. ist ja eine neue Version draussen, die das returning auswertet ?

Mithrandir 4. Aug 2009 12:27

Re: INSERT - Statement wird nicht ausgeführt
 
Hi,

Das mit den SP gucke ich mir nochmal genauer an. Ich habe jetzt erstmal ein zusätzliches SELECT Statement genommen und dann einfach die ID Spalte abwärts sortiert. Da das Programm für den Eigenbedarf ist und heute fertig werden sollte muss, geht das erstmal Q'n'D. :)

Zitat:

PS:
Welche ZEOS-Version hast du denn nun ?
Ev. ist ja eine neue Version draussen, die das returning auswertet ?
Na,

Hab ich doch geschrieben. ;)

Danke für eure Hilfe. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Seite 3 von 3     123   

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