AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Autowerte bei Firebird setzen

Autowerte bei Firebird setzen

Ein Thema von FBrust · begonnen am 10. Jun 2005 · letzter Beitrag vom 14. Jun 2005
Antwort Antwort
Seite 4 von 4   « Erste     234
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.026 Beiträge
 
Delphi XE3 Enterprise
 
#31

Re: Autowerte bei Firebird setzen

  Alt 13. Jun 2005, 11:20
Moin, ja das gibt doch ein Bild

         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
Martin Schaefer
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#32

Re: Autowerte bei Firebird setzen

  Alt 13. Jun 2005, 12:01
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 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.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#33

Re: Autowerte bei Firebird setzen

  Alt 14. Jun 2005, 21:39
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>
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.026 Beiträge
 
Delphi XE3 Enterprise
 
#34

Re: Autowerte bei Firebird setzen

  Alt 14. Jun 2005, 22:34
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
Martin Schaefer
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf