Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme mit Nullstring? (https://www.delphipraxis.net/32450-probleme-mit-nullstring.html)

Hansi 23. Okt 2004 14:13


Probleme mit Nullstring?
 
lese aus einer Txt-Datei aus...

z.B.:
Data1;Data2;Data3;

manchmal kommt es aber vor dass es so aussieht,

Data1;;Data3

Nun liest das Programm den zweiten String ein. Beim Abspeichern des Strings bringt er aber eine fehlermeldung. Kann mir jemand mit ein bischen Code helfen?


P.S. schönen Samstag

MrSpock 23. Okt 2004 14:15

Re: Probleme mit Nullstring?
 
Hallo Hansi,

poste doch einmal den Code, wie du die Daten bisher einliest und zurückschreibst. Wir können dir dann sagen, was falsch läuft.

Hansi 23. Okt 2004 14:24

Re: Probleme mit Nullstring?
 
Einlesen mit...

Data1:= Copy(s,1,Pos(';',s)-1);
Delete(s,1,Pos(';',s));
...


in DB speichern...

Table1.Active := True;
Table1.Edit;
Table1.Append;
Table1.FieldValues['Data1'] := Data1;

MrSpock 23. Okt 2004 14:36

Re: Probleme mit Nullstring?
 
Hallo Hansi,

du solltest entweder Edit oder Append benutzen und nicht beides. Edit setzt den aktuellen Datensatz in den Änderungsmodus, wenn noch kein Datensatz existiert, kommt es zum Fehler. Append fügt einen neuen Datensatz ein.

Hansi 23. Okt 2004 14:38

Re: Probleme mit Nullstring?
 
Hilft leider nicht.

Fehlermeldung:
..Varinate des Typs (String) konnte nicht in den Typ Double konvertiert werden...

MrSpock 23. Okt 2004 14:42

Re: Probleme mit Nullstring?
 
Hallo Hansi,

dann ist Data1 wohl ein Doulbe.

Delphi-Quellcode:
 Table1.Append;
if (Trim(Data1) = '' ) then
  Table1.FieldValues['Data1'] := 0.0
else
  Table1.FieldValues['Data1'] := Data1;
Du könntest es auch mit FildByName und .AsFloat probieren. Ich weiß nicht ob da die Umwandlung funktioniert.

[zusatz]
noch besser wäre wohl ein try ... except Block und die Zuweisung von 0.0 im except Fall. Damit fängst du auch andere ungültige Daten ab.
[/zusatz]


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