campo númerico com mais de quadro dígitos decimais.
Estou tendo o seguinte problema, trabalhanhando com o Delphi 7, o componente ClientDataSet está truncando o valor e arredondando ao gravar na base de dados com apenas quatro dígitos (decimais), o CDS gera um TBCDField e no banco de dados o campo foi definido como NUMERIC(25,9), na realidade eu preciso que ao gravar utilize toda sua capacidade conforme já previamente formatado em nove casas decimais. qual a solução sem alterar a base de dados. EX: -20.12345678 ao gravar o CDS passa o valor para -20.1235 se atualizar o valor no BD o valor no sistema é visualizado corretamente, porém se alterar no sistema, trunca novamente.
Álison Bissoli
Curtidas 0
Respostas
Álison Bissoli
11/09/2008
Up
GOSTEI 0
Jair Bg
11/09/2008
Caro´Álison Bissoli´, esse problema tem solução passe para o Delphi 2006 ele irá adicionar mais duas casas decimais no CDS passando para seis espero que no Delphi 2009 consiga outras mais necessárias... ou utilize outra plataforma como java!, bem é tudo questão de adquação...
GOSTEI 0
Álison Bissoli
11/09/2008
falei pra vc gravar como string
GOSTEI 0
Edilcimar
11/09/2008
Já tentou jogar o valor em uma variável antes de gravar?
GOSTEI 0
Álison Bissoli
11/09/2008
o que passar o valor para uma variável vai alterar na hora de dar o meu ApplyUpdates(0); ?
vc não quer q ele monte um update passando esse valor não quer?
são vários campos, tratar uma por uma assim seria inviável.
vc não quer q ele monte um update passando esse valor não quer?
são vários campos, tratar uma por uma assim seria inviável.
GOSTEI 0
Jair Bg
11/09/2008
Referente ao que informei, desculpe no Delphi 2006 passando a informação no CDS as oito casas decimais são gravadas, porém não consegui com o Delphi 7 o problema é o componente ´TBCDField´ gerado pelo sistema ao conectar a TABELA (DB). referente a passar valor por variavel??? pra quê? coisa insana!!!
GOSTEI 0