[firebase-br] problema em delphi c/ numeric(18,2)

Francisco Thiago de Almeida jeandeadlucky em yahoo.com.br
Qui Dez 23 11:38:18 -03 2004


Verdade Red... O FieldByName('asdf').Value é do tipo Variant, que além de 
ser mais lento, só vai fazer checagem dos dados quanto estes são 
submetidos.. (bem, é assim que acontece por aqui).
Porém o FieldByName é meio complicado de usar pq ele faz uma pesquisa na 
tabela pra saber o índice do campo que você está trabalhando.... Se você não 
for mudar a ORDEM dos campos no result set, o mais indicado é que você use 
Fields[i], onde i é o indice do campo
----- Original Message ----- 
From: "RedDevil" <reddevil em reddevil.eti.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, December 23, 2004 11:37 AM
Subject: Re: [firebase-br] problema em delphi c/ numeric(18,2)


ola Ronaldo.
tudo bem contigo?
sincerely, espero que sim.

realmente existe um artigo na FireBase onde consta que o tipo de campo 
indicado para valores monetarios eh o NUMERIC(18,2), portanto, a tua escolha 
foi correta...

eu sugiro que voce faça o que o Thiago ja te sugeriu, tipow ao inves de usar 
"FieldByName( 'campo' ).Value", use "FieldByName( 'campo' ).AsFloat", pois 
eu li, em uma msg postada aqui na lista pelo Mr. Rubem Rocha a cerca de uns 
trocentos anos, que nao eh indicado trabalhar com "FieldByName( 
'campo' ).Value", que o correto eh usar "FieldByName( 
'campo' ).AsTipoDeDado"...


[]s
força sempre.
ate +++

Luiz "RedDevil" Stefanski
=======><=========
====> Delphi 4 <=====
====> powered <=====
======> by <=======
===> IBObjects <=====
=======><=========
more in:
http://www.RedDevil.eti.br (home)
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630 
(instalaçao -4.3 A)
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165 ("tips")



----- Original Message ----- 
From: "Ronaldo R. V. Luiz" <ronaldinho79 em bol.com.br>
To: <lista em firebase.com.br>
Sent: Wednesday, December 22, 2004 6:35 PM
Subject: [firebase-br] problema em delphi c/ numeric(18,2)


> Conforme indicado em alguns locais, escolhi numeric(18,2) para um campo
> moeda.
> Mas o delphi selecionou um TFMTBCDField para ele.
> Eu não consigo somar. Ex: campo.Value := campo.Value + outrocampo.Value;
> Como eu poderia utilizar esse tipo de campo no delphi?
>
> eu vi que tem uma função própria para adição para esse tipo de campo.
> Mas também não funcionou. Veja o que teu tentei:
> BcdAdd(campo.Value,outrocampo.Value,campo.Value);
>
> Eu estou usando dbExpress+DataSetProvider+ClientDataSet. Isso é um
> problema dessa arquitetura que eu estou usando ou em qualquer tipo de
> componentes essa chatura existe?
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br






Mais detalhes sobre a lista de discussão lista