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