Hallo hube,
du solltest vielleicht noch wissen, warum es mit QuotedStr funktioniert. Zunächst einmal erzeugst du ja damit im SQL Statement ein Abfrage, die ein Datum mit einem String vergleicht. Dabei hilft dir die implizite Typumwandlung. Interbase / Firebird versucht verschiedene Typen ineinander umzuwandeln, was zwischen String und Date funktioniert. Wenn du in Delphi auch schon einen Date oder DateTime Typ hättest, wäre es besser mit Parametern zu arbeiten:
Quelltext
1:
| SELECT * FROM mytab WHERE vonDatum <= :vonDatum |
und dann vor Ausführung des Statements:
Delphi-Quelltext
1: 2:
| myQry.ParamByName('vonDatum').AsDateTime := myDateTime; myQry.Open; |
Das Problem bei der impliziten Typumwandlung ist z.B. die Reihenfolge von Monat und Tag oder das Format als solches. Muss es '01-Dec-2005' oder '01.12.2005' oder '12.01.2005' oder '01-Dez-2005' heißen oder funktionieren mehrere? Die Verantwortung hast du nun in die Hände des Nutzers gelegt, der ja im EditFeld jedes beliebige Format eingeben kann!?