Thema: Delphi Zeos - Insert-Problem

Einzelnen Beitrag anzeigen

Benutzerbild von Domo Sokrat
Domo Sokrat

Registriert seit: 14. Mai 2003
Ort: Wehrheim / Ts.
235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Zeos - Insert-Problem

  Alt 7. Aug 2006, 10:41
Hi Ihr beiden,

in der "neuen" Version von ZEOS (also ab der 6.5.1 alpha CVS as of 13/10/2005) gibt es die Komponente "TZSequence" (Danke Stevie!), über die man (momentan nur(!) für Firebird realisiert) einen Generator einbinden und nutzen kann, so wie es hier diskutiert wird.

Ich habe die Sache mal kurz anhand der CARGO-Beispieltabelle von ZEOS auf meinem FB 1.5 nachgespielt und das Feld C_ID (INTEGER und PK-Feld) als Ziel der generierten Sequenznummer angegeben und es funzt ohne Probleme.

Die Vorgehensweise ist hierbei folgende:

TZSequence einfügen und Connection zuweisen. Die Property "SequenceName" muss den Namen des Generators haben, der angesprochen werden soll (z. B. IDGEN). Die BlockSize der TZSequence gibt die Schrittweite bei der Generierung der Nummern an (default: 1). Somit ist schon mal der Generator eingerichtet.

Btw: die Liste der Generatoren kann über
SELECT rdb$generator_name FROM rdb$generators ermittelt werden.

In meinem Beispiel habe ich ein simples TZQuery genutzt und das Resultset mit einem "SELECT * FROM cargo" ermittelt. Die Verknüpfung zwischen Generator und Zielattribut der Cargo-Tabelle wird nun über die Property 1) "Sequence" und 2) "SequenceField" des TZQuery hergestellt. Hier wird 1) das ZSequence-Objekt ausgewählt (z. B. ZSequence1) und 2) das Tabellenattribut gewählt, welches die generierte ID empfangen soll (z. B. C_ID).

Hoffentlich hilft's.

Grüße!
Michael Seeger
Vergesst nicht: Es wird überall nur mit Wasser gekocht
ZEOSLib - Admin-Team
ZeosLib-Forum
  Mit Zitat antworten Zitat