viniciussanchez / dataset-serialize

JSON to DataSet and DataSet to JSON converter for Delphi and Lazarus (FPC)
MIT License
645 stars 156 forks source link

Formatação de campos não aplicadas #191

Closed alissonrodrigo closed 1 year ago

alissonrodrigo commented 1 year ago

Tenho um banco de dados (FireBird 2.1, Dialect 1) com campos do tipo DATE e tento aplicar a formatação mas não funciona.

//configurações aplicadas TDataSetSerializeConfig.GetInstance.Export.FormatDate:= 'dd-mm-yyyy'; TDataSetSerializeConfig.GetInstance.Export.FormatDateTime:= 'dd-mm-yyyy hh:nn:ss';

retornor: { "cadastro":"2014-06-02T00:00:00.000Z", }

viniciussanchez commented 1 year ago

image Se olhar a classe vai ver que esses dois parâmetros tem prioridade... verifica por favor como eles estão e tente novamente. Qualquer coisa coloca aqui para que possamos analisar por favor

alissonrodrigo commented 1 year ago

Minha classe está assim. Os únicos parâmetros que eu paço são estes dois de formatação. Screenshot_1

alissonrodrigo commented 1 year ago

Todo processo e criado em tempo de execução.

alissonrodrigo commented 1 year ago

a logica e esta: procedure TdmClientes.Lancou_Clientes(aConexao: TFDConnection; dtLancou: TDateTime); var Qry: TFDQuery; sPacote: string; jValores: TJSONArray; begin

TDataSetSerializeConfig.GetInstance.CaseNameDefinition := TCaseNameDefinition.cndLower; TDataSetSerializeConfig.GetInstance.Export.FormatDate:= 'dd-mm-yyyy'; TDataSetSerializeConfig.GetInstance.Export.FormatDateTime:= 'dd-mm-yyyy hh:nn:ss';

Qry := TFDQuery.Create(nil);
try
  Qry.Active := False;
  Qry.Connection := aConexao;
  Qry.SQL.Clear;
  Qry.FetchOptions.Mode := TFDFetchMode.fmAll;
  Qry.SQL.Add('SELECT * FROM cliente');   
  jValores := Qry.ToJSONArray();
  sPacote := jValores.ToString;
  jValores.Free;
finally    
  Qry.Free;
  Qry := nil;
end;

end;

viniciussanchez commented 1 year ago

Experimenta passar os 2 parâmetros que eu destaquei como False.

alissonrodrigo commented 1 year ago

Deu certo após adicionar essas condições