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

18/12/2019

17

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

Responder

Posts

18/12/2019

Charles Pereira

Obs.: o code do dev bugou meus aspas simples kkkk
Responder

20/12/2019

Charles Pereira

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));
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar