USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Oracle novamente
Defende
JARINÚ
SP - BRASIL
ENUNCIADA !
Postada em 06/03/2008 13:00 hs            
Tenho a seguinte procedure no Oracle:

reate or replace procedure soma_prc( p1 in number, p2 in number, ret out number )
IS
   v_valor number := null;
begin

    v_valor := p1 + p2;
    
    ret := v_valor ;

end soma_prc;

Os objetos estam assim:

Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = v_conexao
objCommand.CommandText = "soma_fcn"
objCommand.CommandType = adCmdStoredProc

A passagem de valores esta assim:

Set objParam = objCommand.CreateParameter("pRet", adNumeric, adParamReturnValue)
objCommand.Parameters.Append objParam
Set objParam = objCommand.CreateParameter("p1", adNumeric, adParamInput, , "Valor1")
objCommand.Parameters.Append objParam
Set objParam = objCommand.CreateParameter("p2", adNumeric, adParamInput, , "Valor2")

A minha duvida eh a seguinte; Como eu jogo o resultado dessa procedure em um Recordset para poder mostrar em tela o que ela me retornou???

Desde ja grato a todos
objCommand.Parameters.Append objParam
   
wncruz
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 06/03/2008 14:03 hs            
Tenta assim:
 
Dim objCommand                 As ADODB.Command
With objCommand
      Set .ActiveConnection = v_conexao
      .CommandText = "soma_prc"
      .CommandType = adCmdStoredProc
      .Parameters.Append .CreateParameter("p1", adNumeric, adParamInput, , 2)
      .Parameters.Append .CreateParameter("p2", adNumeric, adParamInput, , 9)
      .Parameters.Append .CreateParameter("pRet", adNumeric, adParamOutput)
End With
vlVariavelRetorno = objCommand.Parameters("pRet")
 
O valores tem que do tipo Númerico e não strings

Sds,

"O segredo é quebrar os problemas em pequenos pedaços administráveis. Se você lidar com eles, termina antes de saber disso."

Watson Gomes da Cruz
   
Defende
JARINÚ
SP - BRASIL
ENUNCIADA !
Postada em 06/03/2008 14:11 hs            
Valeu wncruz pela ajuda mas o que eu presciso eh jogar o retorno dela num Recordset.

Nesse caso aqui a conexao e passagem de parametros vai ser mesma coisa, mas como eu retorno em um recordset.
eh apenas o comeco da procedure, ok:

CREATE OR REPLACE PROCEDURE sp_selecionar_carteiras (sNumTiu in varchar2, iCodEmpPan number, sCodDpd in varchar2,
                                             p_recordset OUT Types.cursor_type) AS

BEGIN

  OPEN p_recordset FOR
       SELECT DISTINCT
                    HIS.CODEMPPLN CodEmpPlano,
                 HIS.CODPLN CodPlano,
                    PAT.nomemprez Patrocinadora,
                 BEN.codemppan Empresa,
                   BEN.numtiu Matricula,
                 BEN.coddpd Dep,

Repara que tem "p_recordset OUT Types.cursor_type" - como eu trato esse retorno pois essa procedure ai vai me retornar +/- uns 20 campos de dados.

Valeu
   
Defende
JARINÚ
SP - BRASIL
ENUNCIADA !
Postada em 07/03/2008 13:21 hs            
E ai pessoal - ninguem tem uma ideia de como eu posso tratar o retorno da procedure em um recordset ??
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página