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 ??
|
|
|
|