...Nun möchte ich bei der Suche im Edit1.text
"17.03" eingeben und dann soll er diesen Datensatz finden. Dafür müsste ich den Realwert in Datum wandeln aber wie.
Meine Vorgehensweise aus verschiedenen Gründen.
Das Teildatum so anreichern, dass es ein gültiges Datum ergibt und zwar den Start einer Bereichssuche, korrespondierend einen 2.Wert bauen, der das Ende des Bereiches darstellt.
Ergibt für einen Tagesbereich bspw. solch ein Statement:
Code:
//delphi pseudocode
Var startDateRange, endDateRange :TDate
begin
startDateRange := EditText+'.2016';
endDateRange := startDateRange + 1 Tag;
Code:
--
SQL Statement
select * from mytable x where x.mydate between :pStartDate and :pEndDate
Die Anreicherung und Konvertierung des Eingabestrings kann man natürlich auch im
SQL Statement selbst durchführen.
Wichtig ist, bestimmte Prinzipien zu berücksichtigen.
Kein Like, sondern Bereichssuche mit ><= oder between im
SQL.
Bereichserzeugung (Parameterwerte) geht idR recht einfach, sobald man echte Datumswerte erzeugt hat, dann kan man damit einfach rechnen, das gilt sowohl für
SQL als auch für Delphi. In
SQL stehen dazu -meist Datenbank spezifisch- eine ganze Reihe von Hilfsfunktionen zur Verfügung.