DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 26/8/2010 03:47:13 PM
 
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.
ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 26/8/2010 03:55:20 PM
 
Tente assim no displayFormat: #,##0.0000
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 26/8/2010 04:21:07 PM
 
Agora ficou 844,0000



Seria apenas pra fica 8,44.
ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 26/8/2010 04:58:32 PM
 
,0.00 tenta assim no DisplayFormat.
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 26/8/2010 05:09:59 PM
 
ficou assim:

Já está me batendo uma tristeza.


ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 26/8/2010 07:11:09 PM
 
Poste aqui o SQL que está utilizando, pois, aco que é um problema da sua versão do delphi com seu tipo de campo.
Wilson Lehapan Junior, vulgo Paulista...!!!
 
 

 


País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
 Postado em: 27/8/2010 07:25:00 AM
 
No banco de dados está gravado corretamente?
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 27/8/2010 08:01:28 AM
 
Então, no banco ta gravado certinho, segue abaixo o sql:

[CODE]
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;

[/CODE]
Wilson Lehapan Junior, vulgo Paulista...!!!
 
 

 


País: Brasil
Estado: RS
Cidade: Caxias do Sul
Mensagens: 1574
 Postado em: 27/8/2010 08:27:19 AM
 
Sugiro excluir o campo do ClientDataSet e incluí-lo novamente, colocando o DisplayFormat novamente, muitas vezes isto pode resolver.

Espero ter colaborado.
MARCO ANTONIO SALLES
 
 

 


País: Brasil
Estado: MG
Cidade: Muriae
Mensagens: 1680
 Postado em: 27/8/2010 09:12:19 AM
 

Citação:
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 .
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 27/8/2010 10:24:25 AM
 
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.
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 27/8/2010 10:28:10 AM
 
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á.
MARCO ANTONIO SALLES
 
 

 


País: Brasil
Estado: MG
Cidade: Muriae
Mensagens: 1680
 Postado em: 27/8/2010 10:37:51 AM
 

Citação:
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 ???
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 27/8/2010 10:53:42 AM
 
Estou usando os componetes abaixo:

Paleta DBExpress
SQLConnection
SQLQuery


Paleta Data Acess
DataSetProvider
ClientDataSet
DataSource
ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 27/8/2010 10:59:34 AM
 
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
 
 
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 27/8/2010 11:06:03 AM
 
Boa, vou fazer o teste aqui e dou o retorno.

Obrigado.
Eliézio Mesquita
 
 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 103
 Postado em: 27/8/2010 01:29:56 PM
 
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.



web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03