![]() |
AW: Firebird und AutoInc
Hallo,
bisher verwende ich keine statische Feldliste. Zitat:
Viele Grüße ... |
AW: Firebird und AutoInc
AfterScroll :gruebel:
|
AW: Firebird und AutoInc
Hallo Grolle,
Vielleicht hilft Dir dieser Link weiter: ![]() Bis bald Chemiker |
AW: Firebird und AutoInc
Hi,
also, dass Problem liegt nicht an dem DBEdit sondern taucht beim speichern eines neuen Datensatzes auf.
Delphi-Quellcode:
Beim Post kommt der Fehler, dass das Feld ID einen Wert haben muss (dieses ist aber gar nicht in der Insert Query). Leider ist das bei den anderen
Query.Post;
Query.Refresh; getesteten Datenbanken (MySQL, SQLite) nicht so. Weiß jemand rat? Viele Grüße ... |
AW: Firebird und AutoInc
Wie sieht denn der Trigger aus?
|
AW: Firebird und AutoInc
Hi,
SQL-Code:
wurde von IBExpert generiert. Kann man nicht probieren das ganze als "After insert" zu nutzen?
/* Trigger: CONTACTS_BI */
CREATE TRIGGER CONTACTS_BI FOR CONTACTS ACTIVE BEFORE INSERT POSITION 0 as begin if (new.id is null) then new.id = gen_id(gen_contacts_id,1); end ^ Viele Grüße ... |
AW: Firebird und AutoInc
Da ich annehme, dass es sich um den PK handelt, wird das im AfterInsert wohl nicht gehen, da der Datensatz mit einem NULL-Wert in einem NOT NULL-Feld nicht angelegt wird. Übrigens würde ich die if-Abfrage innerhalb des Triggers löschen, da IMO ein Setzen des Wertes niemals von außen zu geschehen hat.
|
AW: Firebird und AutoInc
Hi,
habe es geändert. Sollte ich das Feld besser nicht als PK markieren und Null? (Hatte ich so auch schon getestet und läuft, aber ist nicht gerade optimal?!) Viele Grüße ... |
AW: Firebird und AutoInc
Nein nein, der PK macht ja Sinn. Normalerweise sollte doch bei einem INSERT PK dieser dann automatisch befüllt werden.
|
AW: Firebird und AutoInc
Aber woher kommt dann der Fehler?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
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