CLIENTDATASET AREDONDA VALOR COM CENTAVOS
ESTOU FAZENDO UM PROGRAMA Q CONECTA NO ORACLE PARA IMPORTAR CAMPOS DE UMA TABLEA ORACLE PARA UMA TABELA DO RIREBIRD, ESTOU USANDO O SISTEMA CLIENT/SERVER ONDE A QUERY ESTÃO NO SERVER E USO O CLIENTDATASET COM MIDAS PARA PEGAR OS DADOS NO CLIENT, NO SERVER ESTOU USANDO A CONEXÃO ADO PARA CONECTAR COM O BANCO ORACLE, O QUE ACONTECE É OS VALOS QUE ESTÃO NO BANCO DE DADOS ORACLE TEM DECIMAL(CENTAVOS) QUANDO FAÇO UMA CONEXÃO COM UM FORMULARIO CONECTANTO DIRETO NO ORACLE E MOSTRO EM UM GRID MOSTRA OS VALORES COM CENTAVOS, QUANDO FAÇO ATRAVÉS DO CLIENTDATASET PEGANDO OS DADOS DO SERVER E ENVIANDO PARA O CLIENT, OS CAMPOS VEM AREDONDADOS SEM OS CENTAVOS, GOSTARIA DE SABER COMO RESOLVER ESTE PROBLEMA, OUTRA COISA O CAMPO NA TABLE A ORACLE É TO TIPO "BCD".
Valdelir Castanheiro
Curtidas 0
Respostas
Rafael Mattos
14/06/2011
Como está declarado essas variaveis?
como vc está passando os valores?
por exemplo se vc passa
Campo.asInteger, ele vai arredondar mesmo
--------------------------------------------------------------------------------
Blog: http://mundodoprogramador.wordpress.com/
MSN: rafmattos@hotmail.com
Twitter: _rafmattos
como vc está passando os valores?
por exemplo se vc passa
Campo.asInteger, ele vai arredondar mesmo
--------------------------------------------------------------------------------
Blog: http://mundodoprogramador.wordpress.com/
MSN: rafmattos@hotmail.com
Twitter: _rafmattos
GOSTEI 0
Valdelir Castanheiro
14/06/2011
ESTOU PASSANDO CAMPO.VALUE
GOSTEI 0
Rafael Mattos
14/06/2011
ESTOU PASSANDO CAMPO.VALUE
tenta com asCurrency
--------------------------------------------------------------------------------
Blog: http://mundodoprogramador.wordpress.com/
MSN: rafmattos@hotmail.com
Twitter: _rafmattos
GOSTEI 0
Valdelir Castanheiro
14/06/2011
NÃO TEM JEITO, NÃO FUNCIONOU, ACONTECE O SEGUINTE COLOQUEI UM GRID PRA MOSTRAR O VALOR QUE ESTA VINDO DO BANCO ORACLE E NO GRID JA MOSTRA SEM OS CENTAVOS
GOSTEI 0
Rafael Mattos
14/06/2011
NÃO TEM JEITO, NÃO FUNCIONOU, ACONTECE O SEGUINTE COLOQUEI UM GRID PRA MOSTRAR O VALOR QUE ESTA VINDO DO BANCO ORACLE E NO GRID JA MOSTRA SEM OS CENTAVOS
mas como está declarado no Oracle?
quando vc faz o select la no Oracle mostra certo?
--------------------------------------------------------------------------------
Blog: http://mundodoprogramador.wordpress.com/
MSN: rafmattos@hotmail.com
Twitter: _rafmattos
GOSTEI 0
Valdelir Castanheiro
14/06/2011
Quando eu faço um formulario sem ser clint/server, com conexão adoconection e adoquery mostra certo, so não mostra certo quando eu uso clientdataset conectado através do datasetprovider ai não retorna correto no datasetclient
GOSTEI 0
Natal Lima
14/06/2011
No ClientDataSet, ao dar dois cliques, abrirá o fields editor, certo? Selecione o campo que quer configurar e no Object Inspector, haverá uma propriedade chamada Currency. Mude ela para True e veja se deu certo. Já mudará no DBgrid
GOSTEI 0
Valdelir Castanheiro
14/06/2011
Não funcionou, continua trazendo os valores aredondado sem os centavos
GOSTEI 0
William Galleti
14/06/2011
Opa.
Passei por varios dias até achar uma solução. Não sei se é a mais correta mais funcionou.
Adicione uma query (qrDecimais) com o sequinte SQL:
No afterconnect do conector com o banco (Ado, DbExpress) mande executar a query.
[code]
try
qrDecimais.ExecSQL;
except
on e : exception do
begin
MessageDlg(e.Message, mtError, [mbOk], 0);
end;
end;
[code]
Espero ter ajudado!
alter session set nls_numeric_characters = '.,'
GOSTEI 0
Wilson Junior
14/06/2011
Tente excluir o Field do ClientDataSet e incluí-lo novamente.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Natal Lima
14/06/2011
Você checou as opções regionais no painel de controle do seu Windows?Certifique que na aba números, o número de casas decimais esteja 2 e na aba unidade monetária também esteja marcado 2.
Espero que tenha ajudado
Natal de Limanataldelima.blogspot.com
Espero que tenha ajudado
Natal de Limanataldelima.blogspot.com
GOSTEI 0
Valdelir Castanheiro
14/06/2011
Não sei o que fazer não funcionou com nenhuma sujestão aqui postada
GOSTEI 0
Wilson Junior
14/06/2011
Qual tipo está declarado este campo no seu ClientDataSet?
GOSTEI 0
Valdelir Castanheiro
14/06/2011
no oracle esta declarado como bcd
GOSTEI 0
Wilson Junior
14/06/2011
Mas e no ClientDataSet?
GOSTEI 0
José
14/06/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0