Ja, mit Params würde das so aussehen:
Delphi-Quellcode:
with tabelle
do
begin
Close;
sql.text := '
SELECT * FROM TABELLE WHERE DATUM = :datumswert';
ParamByName('
datumswert').AsDateTime := StrToDateTime(ed_Datumfeld.text);
Open;
end;
Nur sollte die Eingabe in dem Datumsfeld vorher geprüft werden ob es ein gültiges Datum darstellt bzw. Du verwendest gleich eine entsprechende Eingabekomponente die von sich aus nur gültige Datumseingaben zuläßt.
Das mit dem FormatDateTime klappt natürlich auch. Aber wenn man mit Datums- und Zeitwerten arbeitet, sollte man auch möglichst die dafür vorgesehenen Datentypen verwenden. Das macht dann auch Berechnungen viel einfacher und man spart sich jede Menge Umwandlungen.