Como gravar vazio com firedac

Delphi

17/07/2014

Olá,

Estou com um problema preciso gravar vazio em um determinado campo char
que é not null e o Firedac tenta gravar null. já mudei alguns parâmetros mas não resolveu.
mudei os seguintes parametros no TADQuery:

formatOptions.strsEmpty2Null := false;
UpdateOptions.CheckRequired := false;

estou utilizando o Delphi XE2.
Rodrigo-moraes

Rodrigo-moraes

Curtidas 0

Melhor post

Valquiria Silva

Valquiria Silva

17/07/2014

Realmente decepcionante.

Veja este Link

Apesar do problema relatado ser com o MSSQL, acho que se aplica também aos outros Db's.
Verifique sua versão do FireDac.
GOSTEI 1

Mais Respostas

Valquiria Silva

Valquiria Silva

17/07/2014

Olá Rodrigo.

Recentemente passei por isso.

Qual estrutura você está usando?
A que eu uso é Firebird 2.5 TADConnection-> TADQuery-> TDatasetProvider-> Tclientdataset
Com essa estrutura eu não consegui de forma alguma gravar um valor vazio, mesmo mudando essas propriedades que vc falou.
A solução que adotei, mesmo não sendo a mais satisfatória, mas que resolveu o problema foi setar no campo da tabela no firebird um valor default como ' '.

Mas se você usa apenas TADQuery tente mudar essas propriedades também no TADConnection.

Espero que ajude.

Abs.
GOSTEI 0
Rodrigo-moraes

Rodrigo-moraes

17/07/2014

Estou utilizando
Sybase 9 -> TADConnection -> TADQuery.

irei tenar mudar essas propriedades no TADConnection também.
GOSTEI 0
Rodrigo-moraes

Rodrigo-moraes

17/07/2014

Estou utilizando
Sybase 9 -> TADConnection -> TADQuery.

irei tenar mudar essas propriedades no TADConnection também.


mudei também no TADConnection e o erro persiste. realmente por essa não esperava do Firedac.
Preciso migrar do BDE para o Firedac mas essa situação se torna um grande empecilho.
GOSTEI 0
Rodrigo-moraes

Rodrigo-moraes

17/07/2014

Realmente decepcionante.

Veja este Link

Apesar do problema relatado ser com o MSSQL, acho que se aplica também aos outros Db's.
Verifique sua versão do FireDac.


Realmente testei em uma versão mais recente e o problema foi resolvido. Obrigado!
GOSTEI 0
POSTAR