Fórum Erro ao mostra o valor com o numero de casas decimais #384757

26/08/2010

0

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.
Eliézio Mesquita

Eliézio Mesquita

Responder

Posts

26/08/2010

Eriley Barbosa

Tente assim no displayFormat: #,##0.0000
Responder

Gostei + 0

26/08/2010

Eliézio Mesquita

Agora ficou 844,0000



Seria apenas pra fica 8,44.
Responder

Gostei + 0

26/08/2010

Eriley Barbosa

,0.00 tenta assim no DisplayFormat.
Responder

Gostei + 0

26/08/2010

Eliézio Mesquita

ficou assim:

Já está me batendo uma tristeza.


Responder

Gostei + 0

26/08/2010

Eriley Barbosa

Poste aqui o SQL que está utilizando, pois, aco que é um problema da sua versão do delphi com seu tipo de campo.
Responder

Gostei + 0

27/08/2010

Wilson Junior

No banco de dados está gravado corretamente?
Responder

Gostei + 0

27/08/2010

Eliézio Mesquita

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;

Responder

Gostei + 0

27/08/2010

Wilson Junior

Sugiro excluir o campo do ClientDataSet e incluí-lo novamente, colocando o DisplayFormat novamente, muitas vezes isto pode resolver.

Espero ter colaborado.
Responder

Gostei + 0

27/08/2010

Marco Salles

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 .
Responder

Gostei + 0

27/08/2010

Eliézio Mesquita

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.
Responder

Gostei + 0

27/08/2010

Eliézio Mesquita

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á.
Responder

Gostei + 0

27/08/2010

Marco Salles

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 ???
Responder

Gostei + 0

27/08/2010

Eliézio Mesquita

Estou usando os componetes abaixo:

Paleta DBExpress
SQLConnection
SQLQuery


Paleta Data Acess
DataSetProvider
ClientDataSet
DataSource
Responder

Gostei + 0

27/08/2010

Eriley Barbosa

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    
Responder

Gostei + 0

27/08/2010

Eliézio Mesquita

Boa, vou fazer o teste aqui e dou o retorno.

Obrigado.
Responder

Gostei + 0

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

Aceitar