Fórum multicamdas TFMTBCDField #327559

16/08/2006

0

Estou com problemas com o tipo de field TFMTBCDField para campos Numeric, em um sistema multicamadas com Firebird e DBExpress.
O ClientDataSet esta trazendo os valores dos TFMTBCDField com um ´=´ no último dígito, ele tras 15= ao invés de 150,00.

Notei que esse erro so acontece com o tipo TFMTBCDField quando acessado pelo datasnap.

Fields do tipo TFloatField nao retornam erro algum, mas preciso usar campos Numericos com precisao de casas decimais, por isso nao posso usar o tipo Float do Firebird por problemas de arredondamento.

Sendo assim, como faço para conseguir trabalhar com Numericos com precisao de casas decimais no delphi com firebird + datasnap + dbexpress?
Que tipo de Campo Numerico usar no Firebird?
Tem alguma solucao pra esse erro do TFMTBCDField?


Danilodcf

Danilodcf

Responder

Posts

18/08/2006

Danilodcf

sobe


Responder

Gostei + 0

18/08/2006

Marco Salles

Qual o driver que voce usa ???


Responder

Gostei + 0

18/08/2006

Danilodcf

estou usando o driver do Interbase do dbexpress.

Tem algum driver dbexpress para firebird free?


Responder

Gostei + 0

18/08/2006

Marco Salles

estou usando o driver do Interbase do dbexpress. Tem algum driver dbexpress para firebird free?


tem ... Aqui mesmo no site .. Procure por

UIB FireBird15


pode não resolver o seu problema como um todo.. Mas é um bom começo

Geralmemte as pessoas tem dificuldade com este tipo de Campo, principalmente na formatação.. Agora aparecer 15= ao invés de 150,00 , é algo muito esquisito e deve ser do Diver...


Responder

Gostei + 0

21/08/2006

Danilodcf

baixei o driver UIB FireBird15, fiz alguns testes mas nada feito, o erro continua


Responder

Gostei + 0

22/08/2006

Marco Salles

Problemas com este tipo de campo TFMTBCDField são comuns usando a tecnologia DbExpress. É o problema não é de fácil solução.... Muitas das vezes se voce usar o mesmo aplicativo ou Projeto em outra máquina , com as mesmas configuraçoes e sistema operacional , pasmem , o erro desaparece.

Voce disse que:
O ClientDataSet esta trazendo os valores dos TFMTBCDField com um ´=´ no último dígito, ele tras 15= ao invés de 150,00.

Este ´valor´ esta no DbEdit ou No DbGrid ou em Componente de terceiro.
Tente colocar um edit recebendo o conteudo do campo em questão e veja o que aparece. Ja houve solução tb da ´troca´ de componentes dataware por componentes visuais.

boa sorte.


Responder

Gostei + 0

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

Aceitar