[firebase-br] StoredProcedure x DBX x Delphi

eduardo eduardo em icontroller.com.br
Ter Jun 21 19:20:07 -03 2005


como você obtém o texto 3,2 ?

Componente dbaware - formatfloat('mascara', valor)
vc diz que pede o resultado .AsCurrency - Como estão os Regionais 
Settings no teu Painel de Controle do Windows para Números ?

Será que (chute)
:CODEMB * 1.000 INTO :RETORNO;
Obrigaria alguém a assumir 3 casas decimais?

Com calma a gente acaba cercando o bicho!

[]s Eduardo

Antonio Carlos wrote:
> abaixo do AS seria :
> SELECT EMB_QTD FROM EMBALAGEM WHERE EMB_COD = :CODEMB INTO :RETORNO;
> 
> NAO HÁ DIVISAO,
> 
> se eu rodo a procedure por um gerenciador EMS / IBCONSOLE qualquer um o 
> retorno vem correto, com 3 casas decimais, o problema se da quando 
> recebo o valor no DELPHI no  SQLStoredProc
> 
> por exemlo o valor 3,253 é amostrado como 3,2
> 
> ----- Original Message ----- From: "eduardo" 
> <eduardo em icontroller.com.br>
> To: <lista em firebase.com.br>
> Sent: Tuesday, June 21, 2005 5:07 PM
> Subject: Re: [firebase-br] StoredProcedure x DBX x Delphi
> 
> 
>> coloque o código que vem abaixo do "AS"
>> para a gente analisar.
>>
>> Provavelmente você está dividindo só com uma casa decimal
>> tipo 10/3.0 e para ter o numero de decimais corretamente vc teria que 
>> dividir 10 / 3.000 ou 10 / CAST(DIVISOR AS NUMERIC (10.3))
>>
>> []s Eduardo
>>
>> Antonio Carlos wrote:
>>
>>> Pessoal estou ficando QUASE louco, tenho uma store procedute que deve
>>> reornar uma quantidade em uma tabela definido o campo como NUMERIC(10,3)
>>>
>>> CREATE PROCEDURE QTD_EMB (
>>>    CODEMB VARCHAR (3) CHARACTER SET WIN1252)
>>> RETURNS (
>>>    VALOR NUMERIC (10, 3),
>>>    DESCRICAO VARCHAR (20) CHARACTER SET WIN1252)
>>> AS
>>>
>>> Rodo ela no EMS Mananger e passado o valor por exemplo : 001 o 
>>> retorono é
>>> 3.253 mas o resultado no SQLStoredProc : 
>>> SQLStoredProc.Params[1].asCurrency
>>> é 3,2
>>> e nao adiantou NADA eu colocar  SQLStoredProc.Params[1].asBCD ou 
>>> asDouble
>>> mexi ate no params do SQLStoredProc mas nao adianta.
>>> Alguem sabe porque isso e como resolve ?
>>> Vi no Google uma referencia a  DecimalRounding_JH0 como sendo uma 
>>> unit que
>>> corrige isso, consegui ate baixa-la mas ao acrescenta-la ao projeto 
>>> já nao
>>> consigo compilar o sistema dando como erro o dataModule, li o texto 
>>> em anexo
>>> mas nao vi nenhuma instucao especial para isso.
>>>
>>> Alguma luz por favor
>>>
>>>
>>> ______________________________________________
>>> 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
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>
>>
>> ______________________________________________
>> 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
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
> 
> 
> 
> ______________________________________________
> 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
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista