Fw: [firebase-br] Stored Procedures & Delphi
Euler Jr.
euler em siginformatica.com.br
Ter Jun 21 17:33:20 -03 2005
----- Original Message -----
From: "Euler Jr." <euler em siginformatica.com.br>
To: "Antonio Carlos" <a.lima.silva em terra.com.br>
Sent: Tuesday, June 21, 2005 5:14 PM
Subject: Re: [firebase-br] Stored Procedures & Delphi
> Pessoal, esta biblioteca de funções é do projeto, não do Banco de dados.
> Isso se aplica ao retorno da sp via componente SQLStoredProc, que foi o
> problema citado.
> Vc pega SQLStoredProc.Params[1].AsString e joga isso para uma função que
> retorne um float point, assim vc não terá perda de casas decimais.
>
> Um exemplo desta função seria:
>
> Supondo que sua sp retorne '3.4578';
> Vc precisa obter um Single, com três casas decimais. A função retornaria
> 3.457, sem arredondamento.
>
>
> []s
> Euler Jr.
>
>
> ----- Original Message -----
> From: "Antonio Carlos" <a.lima.silva em terra.com.br>
> To: "Euler Jr." <euler em siginformatica.com.br>
> Sent: Tuesday, June 21, 2005 4:48 PM
> Subject: Re: [firebase-br] Stored Procedures & Delphi
>
>
> > Desculpe o private, mas achei que parecia meio idiota perguntar isso na
> > lista mas
> > como vc faz isso exatamente ? a storeprocedute retorna string e sua
funcao
> > trata convertendo em ponto flutuante ? entao vc usa alguma funcao nativa
> do
> > IB/FB 1.x que formata numeric em string ? seria isso ? Quanto a essa
> função
> > seria possivel obte-la ?
> >
> > Desculpe n perguntas, obrigado
> >
> > Antonio Carlos
> >
> >
> > ----- Original Message -----
> > From: "Euler Jr." <euler em siginformatica.com.br>
> > To: "Antonio Carlos" <a.lima.silva em terra.com.br>; "FireBase"
> > <lista em firebase.com.br>
> > Sent: Tuesday, June 21, 2005 3:42 PM
> > Subject: Re: [firebase-br] Stored Procedures & Delphi
> >
> >
> > >O antigo problema dos pontos flutuantes ! Sabe como eu resolvi
> > > definitivamente meus problemas envolvendo float points ? Tenho uma
> > > biblioteca, com procedimentos e funções de uso geral, e uma delas
> retorna
> > > justamente um double, single, currency, double, extended, etc. Depende
> dos
> > > argumentos. Esta função recebe um float point, convertido em string,
> > > depois
> > > retorna o valor com as devidas casas decimais, com arredondamento ou
ñ,
> > > máscara de formatação e outras frescuras. Enfim, se vc obter o seu
> > > resultado
> > > como uma string ( AsString ) obterá o valor completo, podendo em
seguida
> > > "trabalhar" este resultado.
> > >
> > > []s
> > > Euler Jr.
> > >
> > > ----- Original Message -----
> > > From: "Antonio Carlos" <a.lima.silva em terra.com.br>
> > > To: "FireBase" <lista em firebase.com.br>
> > > Sent: Tuesday, June 21, 2005 3:24 PM
> > > Subject: [firebase-br] Stored Procedures & 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].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
> > >
> > >
> > >
> >
> >
>
Mais detalhes sobre a lista de discussão lista