Entwickler-Ecke

Datenbanken - Leeres Datumsfeld auslesen - Fehler


ggehrma - Do 16.03.06 18:26
Titel: Leeres Datumsfeld auslesen - Fehler
Hallo,
Ich greife über ADO auf eine Access-Datenbank zu. Nun versuche ich aus einer Tabelle ein Datum auszulesen. Ist das Datumsfeld in der Tabelle allerdings leer, bekomme ich die Fehlermeldung 'Variante des Typs (Null) konnte nicht in Typ (String) konvertiert werden'. Wie kann ich diesen Fehler abfangen und umgehen?

So lese ich das Datum aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
FUNCTION TDM_Inf.GetKaufDatum: String;
BEGIN
  IF QRY_GetKauf.RecordCount <> 0 THEN
    IF QRY_GetKauf.FieldValues['Datum'] <> '' THEN
      GetKaufDatum := QRY_GetKauf.FieldValues['Datum']
  ELSE
    GetKaufDatum := '';
END;

QRY_GetKauf ist dabei mein ADO-Query mit der SQL-Anweisung:

SQL-Anweisung
1:
SELECT * FROM Kauf                    


mfg, ggehrma


MSCH - Do 16.03.06 18:34

vorher auf null und/oder <0 abfragen?

grez
msch


ggehrma - Do 16.03.06 18:38

Super, funktioniert.
Danke.


MSCH - Do 16.03.06 19:47

schau dir mal die Funktion
IsNull() und Nz() an.

z.b.
select nz(feld1IstInteger,0) as sowie

gibt immer 0 zurück wenn feld=NULL

grez
msch