RES: [firebase-br] StoredProcedure x DBX x Delphi

Antonio Carlos a.lima.silva em terra.com.br
Qua Jun 22 09:17:46 -03 2005


Pessoal de fato o problema é do SQLStoredProc o infeliz arredonda do jeito 
dele o valor no meu caso, 3,253  vira 3,2.
Como já havia dito anteriormente, se eu chamasse a storeprocedure por um 
gerenciador qualquer, o retorno era correto
mas mesmo assim cheguei a usar medidas extremas tipo mesmo as variaveis 
sendo NUMERIC(10,3) coloquei
RETORNO = CAST(QTD AS NUMERIC(10,3) isso também nao adiantou para o DBX so 
passava para o aplicativo
de forma errada.
Entao usei o seguinte recurso, defini RETORNO como VARCHAR(14) e fiz assim 
RETORNO = CAST(QTD AS VARCHAR(14))
e o infeliz do SQLStoredProc esta retornando em um showmessage 3.253
Ou seja com as tres casas decimais, porém com um ponto no lugar da virgula.
Se não houver outro jeito, creio que eu va ter que arrumar uma funcao que 
converta string para currency , StrToCurr nao dá certo pois
 como há um ponto no lugar da virgula a coisa pega.

----- Original Message ----- 
From: "Pha-Lista" <lista em pha.com.br>
To: "Juliano Pezzini" <juliano.pezzini em gmail.com>; "FireBase" 
<lista em firebase.com.br>
Sent: Wednesday, June 22, 2005 7:40 AM
Subject: Re: RES: [firebase-br] StoredProcedure x DBX x Delphi


> Seria melhor entao retornar como Float.
>
> O correto seria achar o problema, tente o driver da UIB, se for problema 
> do driver do DBX o erro nao ocorrera, mais sempre ha uma maneira de 
> contornar ou eliminar o erro, primeiro voce tem que achar a causa.
>
> Voce ja tentou atraves do IBX, para ver se ocorre o mesmo?
>
> PHA
> Nova Odessa / SP - Brazil
>
> -----Mensagem original-----
> From: Juliano Pezzini juliano.pezzini em gmail.com
> Date: Wed, 22 Jun 2005 00:34:28 -0300
> To: FireBase lista em firebase.com.br
> Subject: Re: RES: [firebase-br] StoredProcedure x DBX x Delphi
>
>> Pq vc não retorna o campo do tipo varchar??
>>
>> É, eu sei que é gambia, mas essa galera que fez o dbx tb fez um monte
>> de gambia e ninguém fala nada!! oras.......
>>
>> t+
>>
>> Juliano
>>
>> On 6/21/05, Adilson B.  Cápua Jr. <juniorcapua em yahoo.com.br> wrote:
>> > Cara,
>> >
>> >        Se você consegui resolver isso, por favor, entre em contato
>> > comigo...
>> >        Certa vez fiquei babando no computador quase que uma semana 
>> > tentan> do
>> > descobrir um erro numa rotina de caixa que eu tenho no meu sistema. O
>> > problema
>> > era exatamente igual ao seu, ou seja, o danado do SQLStoredProc 
>> > retornava>  um
>> > valor totalmente errado (em se tratando dos centavos). Por exemplo, 
>> > 20,45
>> > ele
>> > trazia 20,40... A única solução que achei na época (e até hoje > eu uso 
>> > assim)
>> > foi criar um campo de apoio numa tabela geral do banco e o saldo gerado 
>> > e> ra
>> > jogado para essa tabela e logo depois eu buscava via select mesmo! Aí
>> > funcionou
>> > certo... Hoje, eu evito que as SP's retornem valores para o programa. 
>> > Sem> pre
>> > tento a solução de outro jeito...
>> >        Li a thread sobre o assunto e não sei se você está usando a > 
>> > tal da
>> > função
>> > que citaram... Se estiver, lhe peço que entre em contato para que 
>> > possa> mos
>> > tentar resolver isso juntos...
>> >
>> >        Forte abraço,
>> >
>> >
>> > +---------------------------------------+
>> >  Adilson Bragança Cápua Jr.
>> >  Linhares - ES             Brasil
>> >
>> >  mailto    : juniorcapua em yahoo.com.br
>> >              juniorcapua em gmail.com
>> >  Mobile    : abcjr em oi.com.br
>> >  Messenger : juniorcapua em hotmail.com
>> >  Blogger   : www.dellas.rg3.net
>> > +---------------------------------------+
>> >  Save a tree! Send an e-mail!
>> > -----Mensagem original-----
>> > De: lista-bounces em firebase.com.br 
>> > [mailto:lista-bounces em firebase.com.br] > Em
>> > nome de Antonio Carlos
>> > Enviada em: terça-feira, 21 de junho de 2005 15:48
>> > Para: Pha-Listas; FireBase
>> > Assunto: [firebase-br] StoredProcedure x DBX x Delphi
>> >
>> > 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].asCurren> cy
>> > é 3,2
>> >  e nao adiantou NADA eu colocar  SQLStoredProc.Params[1].asBCD ou 
>> > asDoubl> e
>> > 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 
>> > qu> e
>> > 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 
>> > an> exo
>> > 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 
>> > edi> tar
>> > 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
>> >
>> >
>> >
>> >
>> >
>> > _______________________________________________________
>> > Yahoo! Acesso Grátis - Internet rápida e grátis.
>> > Instale o discador agora! http://br.acesso.yahoo.com/
>> >
>> >
>> > ______________________________________________
>> > 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.f> 
>> > irebase.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