firedac 118 - Error evaluating expression. Invalid variant type conversion.

SQL Server

Delphi

18/12/2019

Boa tarde Pessoal, sou novo no canal e gostaria de saber como tratar este erro logo acima no filter que foi desenvolvido.
Este mesmo incialmente foi desenvolvido pelo RXLib, porém foi redesenvolvido no Firedac, gostaria de saber como tratar este erra
firedac 118 - Error evaluating expression. Invalid variant type conversion pois todos os esforços não adiantaram para o Filter no Sql.

vl := '' '';
// vVetData é uma tratativa de datas que peguei no intervalo de 7 dias da semana
for vI := 0 to 6 do
    with qryBoxF do
      begin
        Filtered := false;
        Filter := ''Data = ''+#39+(FormatDateTime(''dd/mm/yyyy'', vVetData[vI], ''00:00:00.000''))+#39;
        Filtered := true;


este mesmo código foi desenvolvido dos seguintes modos
Filter := '' Data = '''''' + DateToStr(vVetData[vI]) + '''''''';
Filter := '' Data = '' +  QuotedStr(DateToStr(vVetData[vI]) );


Apenas este funcionou pois não trazia o "aspas simples" e sim chaves "{}"
Filter := '' Data = {'' + (FormatDateTime(''yyyy-mm-dd'', vVetData[vI]))+''}'';


Se alguém tiver uma solução por favor, fico agradecido.
Charles Pereira

Charles Pereira

Curtidas 0

Respostas

Charles Pereira

Charles Pereira

18/12/2019

Obs.: o code do dev bugou meus aspas simples kkkk
GOSTEI 0
Manoel Junior

Manoel Junior

18/12/2019

Bom dia. Percebi que você está informando uma string invés de um TFormatSettings, tenta utilizar o atributo FormatSettings para definir as propriedades do seu TFormatSettings... Segue o exemplo:
FormatSettings.LongTimeFormat := '00:00:00.000';
ShowMessage(FormatDateTime('dd/mm/yyyy',StrToDateTime('23/01/2019 22:00:00') , FormatSettings));
GOSTEI 0
POSTAR