[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