AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Field Value required Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

Field Value required Fehler

Ein Thema von peteress · begonnen am 3. Dez 2006 · letzter Beitrag vom 4. Dez 2006
Antwort Antwort
peteress

Registriert seit: 6. Sep 2004
49 Beiträge
 
#1

Field Value required Fehler

  Alt 3. Dez 2006, 13:34
Datenbank: Firebird • Version: 1.5 • Zugriff über: dbexpress, TSQLConnection, TSimpledataset
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:
insert into
"WKZZKundenstammdaten"
("Kunde")
values
('NewTest')
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:

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:
  object sdsLieferantenID: TIntegerField
    AutoGenerateValue = arAutoInc
    FieldName = 'ID'
    ProviderFlags = []
    ReadOnly = True
  end

    item
      Name = 'ID'
      Attributes = [faReadonly]
      DataType = ftInteger
    end
Ich hab aber auch alles was mir sonst einfiel an Einstellungen bereits durchprobiert.

Vielen Dank
Peter
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Field Value required Fehler

  Alt 3. Dez 2006, 13:53
Vielleicht so:
SQL-Code:
insert into
"WKZZKundenstammdaten"
( ID, Kunde)
values
(NULL, 'NewTest')
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
peteress

Registriert seit: 6. Sep 2004
49 Beiträge
 
#3

Re: Field Value required Fehler

  Alt 3. Dez 2006, 15:01
Zitat von sniper_w:
Vielleicht so:
SQL-Code:
insert into
"WKZZKundenstammdaten"
( ID, Kunde)
values
(NULL, 'NewTest')
Das SQL-Code snippet funktioniert so wie von mir dargestellt. Deines würde möglciherweise auch funktionieren, aber Delphi weigert sich, irgendeinen Code zu gnerieren, bei dem id nicht auf einen Wert <> Null gesetzt wird.

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
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Field Value required Fehler

  Alt 4. Dez 2006, 17:51
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
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Field Value required Fehler

  Alt 4. Dez 2006, 18:01
Ab FB2 kann man den eingefügten Schlüsselwert auch per Trigger bekommen (Insert ... into ...)
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:20 Uhr.
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