TFDTable, Filter and FormatDateTime
Bonjour,
j'ai cherché dans les topics existants une solution relative à mon bug mais je n'ai pas trouvé de réponse...
Voici le code source (extrait)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| while not FDTLogEnvoi.Eof do
begin
FDTLogEmail.Filtered := False;
FDTLogEmail.Filter :=
'DateEnvoi >=' +
QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', FDTLogEnvoi.FieldByName('DateDebutEnvoi').AsDateTime)) +
' and DateEnvoi <=' +
QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', FDTLogEnvoi.FieldByName('DateFinEnvoi').AsDateTime));
FDTLogEmail.Filtered := True;
FDTLogEmail.FindFirst;
while not FDTLogEmail.Eof do
begin
if (not VarIsNull(FDTLogEmail.FieldByName('PersonneConcernee').Value))
and (VarIsNull(FDTLogEmail.FieldByName('LogEnvoi').Value)) then
begin
FDTLogEmail.Edit;
FDTLogEmail.FieldByName('LogEnvoi').Value := QuotedStr(FDTLogEnvoi.FieldByName('Id').AsString);
FDTLogEmail.Post;
end;
FDTLogEmail.FindNext;
end;
FDTLogEnvoi.Next;
end; |
la valeur de filter vaut par exemple 'DateEnvoi >=''22-06-01 00:00:00'' and DateEnvoi <=''22-06-28 00:00:00'''
mais à la ligne suivante, l'activation du filtre génère ce bug
Citation:
Le projet Project1.exe a déclenché la classe d'exception EConvertError avec le message 'Impossible d'analyser la chaîne TimeStamp SQL'.
Le projet Project1.exe a déclenché la classe d'exception EFDException avec le message '[FireDAC][Stan][Eval]-118. Erreur à l'évaluation de l'expression. Impossible d'analyser la chaîne TimeStamp SQL'.
Pourtant l'expression du filtre dans l'exemple au dessus me semble correct ?