![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: dbexpress, TSQLConnection, TSimpledataset
Field Value required Fehler
Hallo,
ich bin hier wieder mal schlicht am verzweifeln. Ich will nichts weiter tun, als den fast simpelsten denkbaren Datensatz in eine datenbak schreiben. Das Feld hat als eindeutigen Index einen Feld ID vom typ Integer. Dieses wird mit einem Before Insert Trigger befüllt. Das folgende Statement von einem Datebanktool wie ibexpert abgesetzt funktioniert wunderbar, das Feld ID wird automatisch befüllt.
SQL-Code:
Versuche ich jetzt mit den oben genannten Komponenten in einem Grid (Developer Express) einen neuen Datensatz anzulegen, erhalte ich bereits vor den Erreichen eines applyupdates im Code eine Fehlermeldung:
insert into
"WKZZKundenstammdaten" ("Kunde") values ('NewTest') EDBClient: Field value required. Gebe ich Pro forma einen Dujmmywert mit, überschreibt der den Wert des Triggers. Ich habe alle Stellen, die mir eingefallen sind, angepast, d.h. Einstellung in der Fieldkomponente stehen auf Providerflags.pfinupdate: false required false Fielddefs für ID stehen auf requiered false also aus den Einstellungen der Komponente
Delphi-Quellcode:
Ich hab aber auch alles was mir sonst einfiel an Einstellungen bereits durchprobiert.
object sdsLieferantenID: TIntegerField
AutoGenerateValue = arAutoInc FieldName = 'ID' ProviderFlags = [] ReadOnly = True end item Name = 'ID' Attributes = [faReadonly] DataType = ftInteger end Vielen Dank Peter |
Re: Field Value required Fehler
Vielleicht so:
SQL-Code:
insert into
"WKZZKundenstammdaten" ( ID, Kunde) values (NULL, 'NewTest') |
Re: Field Value required Fehler
Zitat:
Setze ich ihn aber auf einen Wert ungleich Null, weigert sich der Trigger mitzuarbeiten. Ich habe jetzt den Trigger so umgearbeitet, dass er einen Wert ungleich Null überschreibt, aber solche Hacks haben natürlich michts mit der Entwicklung hochwertiger, wartbarer Software zu tun. Peter |
Re: Field Value required Fehler
Hallo,
ich benutze keine Trigger, sondern hole mir den neuen Wert via stored proc vorher ab. Das hat auch den Vorteil, dass man bei Detail-Datensätzen gleich die Master-Id hat. Bei deinem obigen Bsp konnte man das irgendwie auch machen (beim Parameter irgendwo), aber ich benutze nur die SP. Heiko |
Re: Field Value required Fehler
Ab FB2 kann man den eingefügten Schlüsselwert auch per Trigger bekommen (Insert ... into ...)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 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