Paramteros de Salida de Stored Procedure

23/02/2006 - 23:42 por Alicia | Informe spam
Hola, tengo este código:

Public Sub Ingreso(ByRef OPERFIL As oPerfil)
Dim miConexion As New SqlConnection
miConexion.ConnectionString = "Persist Security
Info=False;Integrated
Security=SSPI;databaseÛGAMA-SEGURIDAD;server=DLT-XD4SAC0N1NN;"

Dim miComando As New SqlCommand("spIngreso_Perfil", miConexion)
miComando.CommandType = CommandType.StoredProcedure

miComando.Parameters.Add(New SqlParameter("@Perfil",
SqlDbType.VarChar, 32))
miComando.Parameters("@Perfil").Value = OPERFIL.Get_Perfil

miComando.Parameters.Add(New SqlParameter("@ID_Registro",
SqlDbType.Int, 9))
miComando.Parameters("ID_Registro").Direction =
ParameterDirection.Output

miConexion.Open()
Dim ID_Registro As Double

miComando.ExecuteNonQuery()
'Obtengo el ID del Registro insertado
ID_Registro = CType(miComando.Parameters("@ID_Registro").Value,
Double)

miConexion.Close()

Pero cuando ejecuto esto me da este mensaje de error
"SQLParameter no contiene SQLParameter con PArameter Name 'ID_Resgitro' "

El Código del stored es:
CREATE PROCEDURE [dbo].[spIngreso_Perfil]
@Perfil varchar(32),
@ID_Registro numeric(9) output

AS

declare
@ID_Perfil numeric(9)

BEGIN TRANSACTION

if (Select MAX(ID_Perfil) from Perfiles) is not null

select @ID_Perfil = (Select MAX(ID_Perfil) from Perfiles) +1
else
select @ID_Perfil = 1

Insert Into
Perfiles (ID_Perfil, Perfil, Baja)
Values (@ID_Perfil, @Perfil, 0)

IF @@error <> 0
begin
ROLLBACK TRANSACTION
Select @ID_Registro = 0
return
end

Select @ID_Registro = @ID_Perfil

COMMIT TRANSACTION
GO

Alguien me puede decir que estoy haciendo mal? o algún ejemplo de parametros
de salida, ya que en la ayuda me es dificil encontrar lo que busco y no
encontre ninguno con parametros de salida, sólo de retorno de valor.-

Uso VBNet Enterprice 2003
Gracias y hasta pronto
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
24/02/2006 - 03:06 | Informe spam
Aqui:

miComando.Parameters("ID_Registro").Direction =
ParameterDirection.Output



te falta @ delante del nombre del parametro.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Preguntas similares