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

Euler Jr. euler em siginformatica.com.br
Qua Jun 22 09:26:15 -03 2005


Antonio,

Troque o parametro de saida da sua stored procedure para float:

create procedure ... returns (valor float) ...

 Fiz um teste, utilizando DBExpress e TSQLStoredProc e funcionou legal.
Criei uma sp que retorna o valor 3.578 e no Delphi vc define:

Na propriedade Params da sp:
NumericScale = 3
Precision = 3
DataType = ftFloat
Value.Type = Double

E ao executar:
// v eh do tipo extended
v := sp.Params[ 0 ].AsFloat;

retorna v = 3.578

Se quiser posso te mandar um email com o metadata e unit.

[]s
Euler Jr.
----- 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