Einzelnen Beitrag anzeigen

little-x

Registriert seit: 13. Apr 2007
Ort: Brandenburg
60 Beiträge
 
Delphi 6 Enterprise
 
#1

TQuery filtern funktioniert nicht

  Alt 18. Sep 2007, 15:15
Datenbank: Informix • Version: 9 • Zugriff über: Native Treiber
Hallo!

ich nutze eine TQuery, die, wenn ich ein Datumsfeld filtere (Eigenschaft Filter = ...), keinen Treffer bringt, obwohl der Datensatz nachweislich da ist. Es handelt sich um ein Datumsfeld.

Ich verwendet Informix. Der Feldtyp ist DATE, zum Arbeiten mit den Query-FieldValues in Delphi verwende ich den Typ TDateTime, womit ich nie Probleme hatte. Jetzt will ich ein Datumsfeld filtern. Nur krieg ichs nicht hin!

Folgende Varianten habe ich probiert und hab dabei folgendes beobachtet:

z.B.
Delphi-Quellcode:
procedure test;
   var dateTimeVar: TDateTime;
begin

   dateTimeVar = encodeDate(2001,1,1);
        qry.Filter:= 'datum = ''' + dateToStr(dateTimeVar) + '''';
        // der Filter lautet: >datum = '01.01.2001'<
        // kommt zwar kein Fehler, aber er findet auch keinen Datensatz.
end;

Weitere Variante:
Delphi-Quellcode:
procedure test;
   var dateTimeVar: TDateTime;
begin
   dateTimeVar = encodeDate(2001,1,1);
   qry.Filter:= 'datum = ' + floattostr(dateTimeVar);
        // der Filter lautet: >datum = 36892<
        // Fehlermeldung: >'36892' ist kein gültiges Datum.<
end;
Ja wie will TQuery den Filter denn nun serviert bekommen!?!

Vielleicht seh ich auch nur den Wald vor Bäumen nicht.

Viele Grüße.
manchmal machts mich mürbe
  Mit Zitat antworten Zitat