Inquiridor
Stored Procedure + Retorno de parametro

Pergunta
-
Ola Pessoal blz ?
Tenho uma stored procedure q recebe um nro inteiro como parametro e me retorna outro inteiro como parametro, gostaria de saber como faço pra pegar esse parametro de saida. To fazendo da forma abaixo, mais ta exibindo um erro:
Code BlockPublic Function Teste()
Dim Cmd : Set Cmd = Server.CreateObject("ADODB.Command")
With Cmd
.ActiveConnection = conexao
.CommandType = adCmdStoredProc
.CommandText = "MYPROCEDURE"
.Parameters.Refresh()
.Parameters("@ID") = 30
.Execute()
pRet = .Parameters("@Retorno")
End With
Response.Write pRet
Set Cmd = Nothing
End function
call Teste()
O erro ocorre nesta linha : .CommandType = adCmdStoredProc
ADODB.Command (0x800A0BB9)
Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.
Alguem tem alguma dica ?
Todas as Respostas
-
Cara,
Como quer que lhe se retorne algo, vc declarou as variáveis(não), passou os parametros corretos (não), criou um recodset(não),abriu o recorset(não) e o que vc que agora que é o último que vc tbm não fez.. Iniciou as variáveis de retorno(não).
Dúvida posta ae..
Abraços,
-
Caro Rodrigo,
Tente usar de forma um pouco diferente.
Tente + ou - isso aqui:
Code SnippetDim strSQL
Set rst = Server.CreateObject("ADODB.Recordset")
'Este exemplo eu fiz utilizando o SQL Server, você deverá mudar a string de conexão 'dependendo do banco que estiver utilizando
strConexao = "provider=sqloledb;uid=sa;pwd=Password;server=Servidor;database=Database"
objConnection.Open strConexao
strSQL = "EXEC Procedure " & '" & Inteiro & "'Set rst = objConnection.Execute(strSQL)
[]s. -
Olá Rodrigo,
Esse erro acontece na maioria dos casos quando o RecordSet não está associado com a conexão com o Banco de Dados ou o Banco de Dados não está aberto, enfim verifique isso.
Lembre-se também de criar um parâmetro do tipo OUTPUT na sua Procedure.
[]s