Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi AutoInc bei Primärschlüsseln beim Einfügen eines Datensatzes (https://www.delphipraxis.net/90998-autoinc-bei-primaerschluesseln-beim-einfuegen-eines-datensatzes.html)

DelphiManiac 27. Apr 2007 09:21

Datenbank: Firebird • Version: 2.0 • Zugriff über: ZEOS Lib

AutoInc bei Primärschlüsseln beim Einfügen eines Datensatzes
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe ein Problem beim Erstellen eines Primärschlüsselfeldes,
das eine Auto-Increment-Funktion besitzen soll,

d.h. beim Einfügen eines Datensatze soll (ähnlich wie in ÄÄÄÄcess) ein neuer Primärschlüsselwert generiert werden.
Bei meiner Firebird DB habe ich ja die Möglichkeit einen Generator (der mir die Werte generiert???) zu erstellen,
aber das klappt nicht, er gibt mir folgende Fehlermeldung:

Siehe Anhang.


Könnt ihr mir helfen??

Danke Euch!

trashcandesign 27. Apr 2007 09:37

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Laut deinem Anhang scheint es diesen Generator schon zu geben.

Zumindest kommt bei mir die Fehlermeldung, wenn ich zwei Generatoren mit gleichem Namen erstellen will.

Edit: Und nicht vergessen einen Trigger zu setzen, damit du wirklich ein Auto-Inc-Verhalten bekommst.
War zumindest bei mir der erste Stolperstein :zwinker:


Gruß
Dirk

mkinzler 27. Apr 2007 09:50

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Zitat:

Und nicht vergessen einen Trigger zu setzen, damit du wirklich ein Auto-Inc-Verhalten bekommst.
Man kann bei Zeos das aber auch mit TSequenz erledigen.

trashcandesign 27. Apr 2007 09:55

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Stimmt,

ohne die Sequence geht das mit dem AutoInc auch nicht über die Zeos-Kompos.
Er hat dann bei mir auf jeden Fall immer gemotzt, dass das Feld einen Wert haben muss.

Wusste nur nicht, dass das auch ohne Trigger geht.

DelphiManiac 27. Apr 2007 09:59

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Hallo,

d.h. wie oder wo finde ich den TSequenz?

mkinzler 27. Apr 2007 10:01

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
TSequenz hat bei FB <2 den Vorteil, daß man leichter an den eingefügten PK-Wert kommt. Bei FB2 kann man sich den ja Zurückgeben lassen.
der Trigger funktioniert ja unabhängig vom Programm/verwendeten Komponenten.

trashcandesign 27. Apr 2007 10:05

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
TZSequence bei den Zeos-Kompos

DelphiManiac 27. Apr 2007 10:14

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Gut,

dem Objekt vom Typ TSequence gebe ich die Connection mit,

aber irgendwie ändert sich nix bei mir,

will eigentlich, dass ich einen Datensatz (ohne selber einen Primary Key vorzugeben) einfüge

Beispiel:


SQL-Code:
INSERT INTO tblMandanten
  (tblMandanten.ANREDE, tblMandanten.VORNAME,
tblMandanten.NAME, tblMandanten.FIRMA,
   tblMandanten.GEBTAG)
VALUES
  (:ANREDE, :VORNAME, :NAME, :FIRMA, :GEBTAG)
Wobei tblMandanten.MandantenID der Primärschlüssel ist

DelphiManiac 27. Apr 2007 10:20

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Ok, Augen auf im Bitverkehr :-)

Habe vergessen den SequenceName auf den Generator zu setzten,

klappt aber trotzdem noch nicht :|

mkinzler 27. Apr 2007 10:24

Re: AutoInc bei Primärschlüsseln beim Einfügen eines Datensa
 
Hast du den Query mit der Sequenz verbunden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr.
Seite 1 von 2  1 2      

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