Ir para conteúdo
  • Cadastre-se

dev botao

Troca DBExpress para Firedac - Postgres


  • Este tópico foi criado há 2653 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde Pessoal.

   Até então utilizamos o DBExpress para conexão com banco de dados e utilizamos os componentes SQLConnection + SQLDataSet + DataSetProvider + ClientDataSet.

   Agora resolvemos trocar o DBExpress para o Firedac que já tem conexão nativa com o postgres não precisando mais usar o ODBC.

  Conseguimos trabalhar apenas trocando os componentes SQLConnection  por FDConnection1 e o SQLDataSet pelo FDQuery, mantendo todo o resto, sem fazer praticamente nenhuma alteração.

 

   Agora encontramos um problema que talvez alguém já tenha passado ou tenha alguma dica. Toda vez que vou salvar alguma informações na base de dados que se refira a um campo hora, por exemplo,

          ClientDataSet.FieldByName('hor_abastecida_poabas').AsDateTime := now;

ele sempre esta gravando com os milissegundos juntos, '16:37:40.413' e não gostaria que ele fizesse assim e apenas até os segundos '16:37:40'.

Tem alguma forma de configurar isso no Firedac? No DBExpress salvava da forma correta.

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

No caso ao usar o FireDAC tu elimina a necessídade do DataSetProvider e ClientDataset.

uso com o postgresql e não tenho problema algum sobre isso.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
Em 30/12/2016 at 11:08, Juliomar Marchetti disse:

FDConnection, FDQuery, FDTransaction

Boa tarde Juliomar,

   Fiz um programa de testes para verificar o caso da gravação dos campos time no postgres utilizando os componentes do Firedac (FDConnection, FDQuery, FDTransaction) e continuou gravando com milissegundos.

  Fiz o teste passando os dados da seguinte forma FDQuery1.FieldByName('hora').AsDateTime := time; e ele grava no formato '10:17:22.708'. Se eu passar como string FDQuery1.FieldByName('hora').AsString e fazer um FormatDateTime('hh:nn:ss', now); ai ele grava certo.

  Pelo que vc já comentou não teve esse problema, talvez saiba como contornar isso, talvez tenha alguma configuração que eu ainda não tenha encontrado nos componentes Firedac.

 

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2653 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...