![]() |
Als String abgelegtes Datum vergleichen
Hallo,
ich möchte ein in einer DB als alphanumerischen Wert abgelegtes Datum mit einem vorgegebenen Datum vergleichen. Definiere ich dieses ebenfalls als String (Format dd.mm.yy), werden nur die Stellen vor dem ersten Punkt (dd) berücksichtigt. Versuche ich, das Datum aus der DB mit StrToDate umzuwandeln, bekomme ich eine Fehlermeldung. Code: ............. S.Text:= 'SELECT AnnDat, Name, Vorname,Smile,Plz,Ort,Strasse, Status,AFTyp FROM' +''''+DBPfadAUftr+''' WHERE (AFTyp = "WZ-Wartung" AND (StrToDate(AnnDat)) < ''30.12.2006'')'; QueryAuftr.Active:=false; QueryAuftr.SQL:=S; QueryAuftr.Active:= true;....... Was mache ich falsch??? Danke schon mal! |
Re: Als String abgelegtes Datum vergleichen
Das ist keine Fehlermeldung.
|
Re: Als String abgelegtes Datum vergleichen
Du kannst keine Delphi-Funktionen in einem SQL-Abfrage verwenden.
Warum legst du das Datum als String in der Datenbank ab? |
Re: Als String abgelegtes Datum vergleichen
Hi,
wie du im Select einen String in ein Datum umwandelst, hängt von der DB ab. Meist ist das ein Cast(Stringtyp as Date). Also etwa so:
SQL-Code:
Was man aber auch vermeiden sollte, ist ein Umbiegen des Zeigers:
(AFTyp = "WZ-Wartung" AND Cast(AnnDat as Date) < ''30.12.2006'')...
Delphi-Quellcode:
Besser ist:
QueryAuftr.SQL:=S;
Delphi-Quellcode:
QueryAuftr.SQL.Assign(S);
Frank |
Re: Als String abgelegtes Datum vergleichen
:-D Danke, klappt hervorragend!!!!
|
Re: Als String abgelegtes Datum vergleichen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz