Erro ao mostra o valor com o numero de casas decimais
Boa tarde,
Caros amigos, estou com o seguite problema:
Tenho uma tabela no meu banco Oracle, com o Campo VL_CREDITOS do tipo NUMBER(14,2) se fizer a consulta direta no banco o valor aparece certinho exempo:
8.44 quando eu faço uma consulta no delphi e jogo em um DBGrid fica 844.
Eu ja usei o sequinte comando:
ClientBenoVL_CREDITOS.DisplayFormat := '###,###,##0.00';
Alguém pode me ajudar?
Obrigado.
Caros amigos, estou com o seguite problema:
Tenho uma tabela no meu banco Oracle, com o Campo VL_CREDITOS do tipo NUMBER(14,2) se fizer a consulta direta no banco o valor aparece certinho exempo:
8.44 quando eu faço uma consulta no delphi e jogo em um DBGrid fica 844.
Eu ja usei o sequinte comando:
ClientBenoVL_CREDITOS.DisplayFormat := '###,###,##0.00';
Alguém pode me ajudar?
Obrigado.
Eliézio Mesquita
Curtidas 0
Respostas
Eriley Barbosa
26/08/2010
Tente assim no displayFormat: #,##0.0000
GOSTEI 0
Eliézio Mesquita
26/08/2010
Agora ficou 844,0000
Seria apenas pra fica 8,44.
Seria apenas pra fica 8,44.
GOSTEI 0
Eriley Barbosa
26/08/2010
,0.00 tenta assim no DisplayFormat.
GOSTEI 0
Eliézio Mesquita
26/08/2010
ficou assim:
Já está me batendo uma tristeza.
Já está me batendo uma tristeza.
GOSTEI 0
Eriley Barbosa
26/08/2010
Poste aqui o SQL que está utilizando, pois, aco que é um problema da sua versão do delphi com seu tipo de campo.
GOSTEI 0
Wilson Junior
26/08/2010
No banco de dados está gravado corretamente?
GOSTEI 0
Eliézio Mesquita
26/08/2010
Então, no banco ta gravado certinho, segue abaixo o sql:
begin
if (StrToDate(Edit1.Text)<=StrToDate(Edit2.Text))then
begin
SQLBeno.Close;
SQLBeno.SQL.Clear;
SQLBeno.SQL.Add('select CD_CARTAO,DT_SALDO, VL_CREDITOS from UBENOLIEL.CTC_BONUSSALDO');
SQLBeno.SQL.Add('WHERE DT_SALDO BETWEEN ' + QuotedStr((Edit1.Text)) + ' and ' + QuotedStr((Edit2.Text)));
SQLBeno.SQL.Add('ORDER BY CD_CARTAO ');
SQLBeno.Open;
ClientBeno.Active := True;
end;
end;
GOSTEI 0
Wilson Junior
26/08/2010
Sugiro excluir o campo do ClientDataSet e incluí-lo novamente, colocando o DisplayFormat novamente, muitas vezes isto pode resolver.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Marco Salles
26/08/2010
Boa tarde,
Caros amigos, estou com o seguite problema:
Tenho uma tabela no meu banco Oracle, com o Campo VL_CREDITOS do tipo NUMBER(14,2) se fizer a consulta direta no banco o valor aparece certinho exempo:
8.44 quando eu faço uma consulta no delphi e jogo em um DBGrid fica 844.
Eu ja usei o sequinte comando:
ClientBenoVL_CREDITOS.DisplayFormat := '###,###,##0.00';
Alguém pode me ajudar?
Obrigado.
..
bem , eu sugeraria olhar sua conexão ela deve estar configurada com um dialeto diferente do definido
da base .
Caros amigos, estou com o seguite problema:
Tenho uma tabela no meu banco Oracle, com o Campo VL_CREDITOS do tipo NUMBER(14,2) se fizer a consulta direta no banco o valor aparece certinho exempo:
8.44 quando eu faço uma consulta no delphi e jogo em um DBGrid fica 844.
Eu ja usei o sequinte comando:
ClientBenoVL_CREDITOS.DisplayFormat := '###,###,##0.00';
Alguém pode me ajudar?
Obrigado.
GOSTEI 0
Eliézio Mesquita
26/08/2010
Marco, o Oracle não Dialeto, por isso não como mudar, seu eu tiver errado por favor, diga onde posso fazer essa alteração e Paulista vou fazer o que você está indicando, vamos ver no que dá.
Eu agradeço a vocês pela disposição em ajudar.
Eu agradeço a vocês pela disposição em ajudar.
GOSTEI 0
Eliézio Mesquita
26/08/2010
Eu acho qeu o Eriley está certo, acho que pode ser problema de versão, vou compilar no com Delphi2009, vamos ver o que vai dá.
GOSTEI 0
Marco Salles
26/08/2010
Marco, o Oracle não Dialeto, por isso não como mudar, seu eu tiver errado por favor, diga onde posso fazer essa alteração e Paulista vou fazer o que você está indicando, vamos ver no que dá.
Eu agradeço a vocês pela disposição em ajudar.
Desculpe , eu não vi que era Oracle ...Não uso o Oracle
Pode sim ser a versão do Delphi
mas qual o componente tecnologia de acesso que vc esta usando ???
Eu agradeço a vocês pela disposição em ajudar.
GOSTEI 0
Eliézio Mesquita
26/08/2010
Estou usando os componetes abaixo:
Paleta DBExpress
SQLConnection
SQLQuery
Paleta Data Acess
DataSetProvider
ClientDataSet
DataSource
Paleta DBExpress
SQLConnection
SQLQuery
Paleta Data Acess
DataSetProvider
ClientDataSet
DataSource
GOSTEI 0
Eriley Barbosa
26/08/2010
Lembrei que aqui tivemos este problema também e Resolvemos, assim, no evento AfterConnect do seu SQLConnection, digite:
NamedoseuSQLConnection.Execute('alter session set NLS_NUMERIC_CHARACTERS = ".,"', NIL, NIL); O código assima resolve inclusive o problema de BCD Overflow, este problema da mascara ocorre com campos do tipo BCD.
E usei a sua mascara inicial no displayFormat: ###,###,##0.00
NamedoseuSQLConnection.Execute('alter session set NLS_NUMERIC_CHARACTERS = ".,"', NIL, NIL); O código assima resolve inclusive o problema de BCD Overflow, este problema da mascara ocorre com campos do tipo BCD.
E usei a sua mascara inicial no displayFormat: ###,###,##0.00
GOSTEI 0
Eliézio Mesquita
26/08/2010
Boa, vou fazer o teste aqui e dou o retorno.
Obrigado.
Obrigado.
GOSTEI 0
Eliézio Mesquita
26/08/2010
Eriley, sua última dica foi perfeita, deu exatemente aquilo que eu precisava, muito abrigado mesmo, são pessoas como você que fazem o site cada dia mais interessante.
Obrigado e forte abraço.
Obrigado e forte abraço.
GOSTEI 0