Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Autowerte bei Firebird setzen (https://www.delphipraxis.net/47383-autowerte-bei-firebird-setzen.html)

mschaefer 13. Jun 2005 11:20

Re: Autowerte bei Firebird setzen
 
Moin, ja das gibt doch ein Bild

Delphi-Quellcode:
         PIQ.sql.text := 'SELECT GEN_ID(' + FGeneratorName + ', 1) FROM RDB$DATABASE';
Und da keimt doch so etwas wie Optimismus auf! Zeos geht mal nicht eben, werde mir das aber heute abend mal genauer anschauen.
Selbst spare ich dadurch schon eine StoredProcedure und einges an Zusatzquellcode.

/Edit: Das auf AfterInsert umzustellen ist letzlich nur eine Namensumbenennung. Das analog zu den anderen Zeosroutinen zu implementieren macht natürlich sinn. Dazu muß man die aber etwas besser kennen, als das mein aktueller Stand ist. /Edit

Grüße // Martin

Robert_G 13. Jun 2005 12:01

Re: Autowerte bei Firebird setzen
 
Zitat:

Zitat von Stevie
Generell würde ich es bevorzugen, den Wert nach dem Posten zu erfragen und ihn dann in das RecordSet zu holen, so wie es oben bei MySQL im Moment schon der Fall ist. Dies würde dem insert into ... returning ... into ... von Oracle entsprechen, welches imho die sauberste Lösung ist. Und all das muss in den entsprechenden dbc-units eingebaut werden.

Wie oft muss ich das denn noch schreiben?
Den Oracle Weg gibt es in FB nicht, oder anders ausgrückt: Es gibt keinen wirklich konsistenten Weg um in FB mit autinkrementierten PKs umzugehen.
Was wir hier versuchen werden ist, es wenigstens halbwegs erträglich zu machen. ;)
Zitat:

Zitat von Stevie
Ich sag's hier mal in aller Deutlichkeit:
Ich halte nichts davon, automatisch generierte Werte zum Client zu holen,
um diese wieder in die DB zu schreiben, wenn diese das selber kann!

Wie ich oben schrieb, du musst mit absoluter sicherheit wissen, dass die PK, die du deinem Objekt vergeben hast (oder die einfach nur in einem Datensatz eines DataSets rumliegt) wirklich die ist, mit der du spätere Updates fährst.
FB gibt dir keine andere Möglichkeit als die hier besprochene. Zumindest keine, der ich mir bewusst bin. ;)

Robert_G 14. Jun 2005 21:39

Re: Autowerte bei Firebird setzen
 
Nur damit nicht der Verdacht aufkommt, ich hätte viel Trubel um nüchts gemacht...
Ich bin gerade in einer dieser wochen, in denen man höchsten zum Schlafen nach Hause kommt.
Bis zum WE werde ich aber Zeos ausgecheckt und ein wenig darin gestöbert haben.
Ich hoffe dass ich am WE die Zeit dafür finde. sollte sich ja bestimmt auf <200 Zeilen belaufen.
Mal sehen was man da noch rausholen kann. <g>

mschaefer 14. Jun 2005 22:34

Re: Autowerte bei Firebird setzen
 
Moin, reichlich Spätmoin,

habe mir inzwischen das CVS erstmal installiert, aber das wir hier alle nicht zum Hobby programmieren dürfte wohl inzwischen klar sein. Da sind verzögerungen wohl zu aktzeptieren. Wenn ich das sehe hat Stevie ja schon eine analoge pas - Datei rausgescuht. Komme da aber auch nur nach Feierabend zu, da Zeos doch inzwischen eine gewisse Komplexität erreicht hat.

Fazit: noch dran !

Gute Nacht // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz