Puesto que trabajas con parámetros, puedes estar seguro que las comas simples y etc no tendrán fallos en el sql, así que pasamos del tema jejeje.
Algo rápido:
Código Delphi
[-]
procedure VerSentenciaSql(dt:TQuery);
var i:Integer;
Sql:string;
ReplaceTo:string;
begin
sql := dt.SQL.Text;
for i := 0 to dt.params.count - 1 do
with dt.Params[i] do
begin
case datatype of
ftDate : ReplaceTo := FormatDateTime('dd/mm/yyyy',AsDAte);
ftDatetime: ReplaceTo := FormatDateTime('dd/mm/yyyy hh:nn:ss', AsDAtetime);
ftTime : ReplaceTo := FormatDateTime('hh:nn:ss', Astime);
else
ReplaceTo := AsString;
end;
sql := ReplaceText(sql, ':'+Name, ReplaceTo);
end;
ShowMessage(sql);
end;