Fórum Valores errados no MySQL #510575
13/02/2015
0
To com um problema complicado, vou explicar:
Tenho um sistema feito em Delphi com banco de dados MySQL 5.5.
O sistema funciona muito bem, porém ao exibi-lo seja num Edit, num DbEdit ou num DbGrid, o valor é exibido corretamente, desde que não esteja entre 1.000 - 9.999.
Ou seja, valores exibidos de 0 até 999 e de 10.000 até infinito, são exibidos corretamente, mas se estiver entre o intervalo citado acima, não exibe corretamente.
O que exibe?
Exibe o valor multiplicado por 1.000.000 (Um Milhão).
Exemplo: ao invés de 1.000, é exibido 100.000.000.
Informações úteis:
** O valor no banco de dados está correto. Se for feito um select o valor se mostra como tem que aparecer, somente no sistema não.
** Fiz um sistema de teste, apenas com um DbGrid e com um DbEdit, sem qualquer tipo de formatação, e o valor é exido errado também.
** O tipo dos campos é Decimal(10,3) e o banco é InnoDB.
** Pelo que verifiquei no Painel de Controle, as configurações de valores (decimal, moeda e etc) estão corretas.
** Já formatei a máquina, mudei o sistema operacional e nada funciona, mas em outras máquinas funciona perfeitamente.
Enfim, não sei mais o que fazer, se alguém tiver qualquer ideia... é bem vinda.
Desde já fico agradecido aos companheiros...
Andrey
Curtir tópico
+ 0Post mais votado
25/02/2015
Consegui!!!!
O problema era o driver ODBC.
Quando deu o problema, foi a primeira coisa que imaginei.
Troquei por alguns drivers, mas não funcionaram.
Decidi fazer teste com mais alguns e funcionou!!
De qualquer forma, muito obrigado a todos pela ajuda.
PS: Desculpem a demora pelo FeedBack.
Andrey
Gostei + 1
Mais Posts
13/02/2015
Cauê Nishijima
Muito estranho mesmo esse seu problema. Que componente você esta utilizando pra acessar os dados? DBExpress?
Já tentou colocar no Create do projeto:
DecimalSeparator := ',' ;
Se puder colocar trecho do código que esta utilizando pra pegar os dados do BD
Att.Cauê Nishijima
Gostei + 0
13/02/2015
Andrey
Uso para conexão ADO.
Sim, já faço uso do decimalseparator.
Qualquer sugestão é bem vinda.
Obrigado novamente.
Gostei + 0
14/02/2015
Marlos Silva
obs: remova a formato moeda e teste esse aqui #,##0.00
uso o firebird 2.5 e já aconteceu de ficar doido as vezes também
mais a mascara corrigiu uso ClientDataSet, va na prorpriedade EditMask do field desejado e teste.
Gostei + 0
14/02/2015
Douglas
É bem provável que você esteja utilizando o objeto ClientDataSet. Faça o seguinte, selecione o campo do seu Cds que está com este problema e marque a propriedade currency como true. Verifique se irá funcionar! Aguardo o seu feedback.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)