[firebase-br] Pegar Valor da Proedure

João Henrique de Souza joao.henrique em jvsind.com.br
Qua Out 13 07:39:32 -03 2004


Olha Savio, primeira coisa a fazer é debugar e ver se o retorno da SP tá te
retornando alguma coisa mesmo, eu por exemplo utilizaria ao invés de:

Campo_Tal.value := RET_procedureTOTAL_ITENS.value;

usaria

Variavel_Tipo_Integer=:RET_procedure.parambyname('Total_ITENS').AsInteger;

e depois eu atribuiria minha variavel ao Campo_TAL.

Bom, oq posso te aconselhar é verificar se a procedure esta retornando o
valor correto. Existe outras possibilidades para averiguar isso como por
exemplo debuggar a própria procedure, isso pode ser feito pelo IBExpert (não
o personal). Em 90% dos casos o erro esta na própria procedure que vc
escreveu.

[]´s
João Henrique

----- Original Message ----- 
From: <savio_assuncao em ibest.com.br>
To: <lista em firebase.com.br>
Sent: Monday, October 11, 2004 10:15 PM
Subject: [firebase-br] Pegar Valor da Proedure


> Ola, Joao
>
>   entum pra tentar pegar o valor de retorno da procedure em D5 ,faço
assim:
>
> begin
>   RET_procedure.close
>   RET_procedure.parambyname('VID_ORCAM').asinteger:= valor _tal.asinteger;
>   RET_procedure.Prepare;
>   RET_procedure.ExecProc;
>   Campo_Tal.value := RET_procedureTOTAL_ITENS.value;
> end;
>
>   Dai o Campo_Tal da sempre ZERO !?!?!!?
>   Se usar um SQL da certo, mas queria usar mesmo a procedure.
>
>   Valeu pela força :)
>
>
>  [ ]'s
>  Savio Assuncao
>
>
>
>
>
>
>
>
>
>
> Se vc quiser "pegar" o valor retornado em uma SP mesmo... tipo... vc esta
> chamando uma SP dentro de outra pelo comando EXECUTE PROCEDURE:  utilize a
> clausula RETURNING_VALUES.
>
> Se não for isso que vc ta perguntando:
> Forneça mas informações de como está chamando sua SP, e onde quer utilizar
> esses retornos das mesmas.
>
> []´s
> João Henrique
>
> ----- Original Message ----- 
> From: <savio_assuncao em ibest.com.br>
> To: <lista em firebase.com.br>
> Sent: Monday, October 11, 2004 3:43 PM
> Subject: [firebase-br] Pegar valor da Procedure
>
>
> Ola Pessoal
>
>   como "pego" o valor retornado da procedure :
>   SET TERM##;
>   CREATE PROCEDURE SOMA_ITENSORCAM(
>    VID_ORCAM INTEGER)
>   RETURNS(
>    TOTAL_ITENS NUMERIC(10,2)
>    )
>   AS
>   BEGIN
>     SELECT SUM(TOTALITEM) FROM TBITENSORC
>     WHERE ID_ORCAM=:VID_ORCAM
>     INTO TOTAL_ITENS;
>     SUSPEND;
>  END##
>
>   passo o parametro de entrada e mando executar o valor armazenado
>   em TOTAL_ITENS sempre ZERO
>
>  [ ]'s
>
>
>
>
> ---
> iBestMail, agora com POP3/SMTP e 120MB de espaço!
> Experimente: http://www.ibestmail.com.br
>
>


----------------------------------------------------------------------------
----


______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.775 / Virus Database: 522 - Release Date: 8/10/2004





Mais detalhes sobre a lista de discussão lista