Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DB speichert ein Feld nicht (https://www.delphipraxis.net/41351-db-speichert-ein-feld-nicht.html)

Hansa 2. Mär 2005 10:27

Datenbank: FB • Version: 1.5 • Zugriff über: FIBplus

DB speichert ein Feld nicht
 
Hi,

ich habe hier eine Textdatei mit Daten. Diese sollen in eine Firebird Datenbank :

Delphi-Quellcode:
      Memo1.Lines.Add(copy (zeile,11,5) + ' ' + copy (zeile,16,25)+' '+copy (zeile,193,10));

      EingDM.ArtDS.insert;
...
      EingDM.ArtDS.FindField ('VP').AsFloat := StrToFloat (copy (zeile,193,10));
      EingDM.ArtDS.FindField ('EP').AsFloat := StrToFloat (copy (zeile,433,10));
...
VP ist Verkaufspreis und EP ist Einkaufspreis. Der ganze Datensatz steht in einer Zeile mit festen Feldlängen. Ab Stelle 193 folgen 10 Stellen, in denen die Zahl drin steht. Das wird nicht gespeichert (also VP). Selbst wenn ich die 193 durch 433 ersetze und somit den EP als VP benutze wird nichts gespeichert. Alle anderen Felder gehen einwandfrei.

Die Tabelle hat 2 Trigger, die habe ich vorsichtshalber noch überprüft. Nichts besonderes. Was kann das sein ? Any Ideas ? :mrgreen:

franktron 2. Mär 2005 10:32

Re: DB speichert ein Feld nicht
 
Kann das ein . , Problem sein.

Alos das da ein . oder , steht was die DB nicht haben will wie z.b. 1000 Punkt

Hansa 2. Mär 2005 11:57

Re: DB speichert ein Feld nicht
 
Kann fast nicht sein, aber ich habe das jetzt vorsichtshalber so ausgeschlossen :

Delphi-Quellcode:
EingDM.ArtDS.FindField ('VP').AsFloat := 22; // StrToFloat (copy (zeile,193,10));
Das Feld wird immer noch nicht gespeichert. Langsam gehe ich von einem Bug aus. Aber nicht bei mir. :mrgreen:

Jasocul 2. Mär 2005 12:24

Re: DB speichert ein Feld nicht
 
Hast du schon auf der Datenbank geprüft, ob es irgendwelche Constraints gibt, die diesen Fehler verursachen könnten?
Hast du die Möglichkeit ein Test-Statement mit einem Datenbank-Tool auszuführen? Wenn es damit funktioniert, weißt du zumindest, dass der Fehler im Programm und nicht auf der Datenbank ist. Der Umkehrschluss ist dann natürlich auch möglich

Hansa 2. Mär 2005 12:35

Re: DB speichert ein Feld nicht
 
Gebe ich 22 von Hand in Ibexpert ein, dann geht es. Und somit bin ich fast so schlau wie vorher. 8) Also ist die Datenbank als Ursache fast auszuschließen. Also doch Bug. :mrgreen:

Jasocul 2. Mär 2005 12:42

Re: DB speichert ein Feld nicht
 
Zumindest sucht man jetzt nicht an der falschen Stelle.
Hast du im OI vielleicht das Feld auf ReadOnly stehen?

urs.liska 3. Mär 2005 18:19

Re: DB speichert ein Feld nicht
 
Hast Du schon versucht, das Feld einmal direkt anzusprechen, also nicht über FindField?
Urs


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 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