Visual Basic.NET - Error con stored procedure

 
Vista:

Error con stored procedure

Publicado por Anita (28 intervenciones) el 12/07/2007 20:47:06
Hola! el problema que me atormenta es el siguiente: quiero recuperar un return value de un stored procedure que utilizo en mi codigo vb.net, pues resulta que no he podido obtener dicho valor aun sabiendo que el stored procedure esta correcto (lo he confirmado muchas veces!). Aqui va mi codigo
.
STORED PROCEDURE:

CREATE PROCEDURE [dbo].[sp_Insert_Tipo_Actividad]
(
@Id uniqueidentifier OUTPUT,
@PId uniqueidentifier,
@Codigo varchar(50),
@Descripcion varchar(256),
@Tipo_Documento uniqueidentifier,
@Id_Clase uniqueidentifier

)
AS
SET @Id = newid()
INSERT INTO T_Actividad
(
Id,
PId,
Codigo,
.....
)
VALUES
(
@Id,
@PId,
@Codigo,
......
)

VB .NET:

Dim WBSconn As SqlConnection = New SqlConnection(connectionString)
WBSconn.Open()
Dim MyCommand As SqlCommand = New SqlCommand("sp_Insert_Tipo_Actividad", WBSconn)
MyCommand.CommandType = CommandType.StoredProcedure

MyCommand.Parameters.AddWithValue("Id", row4.Item(0)) '.Direction = ParameterDirection.ReturnValue
MyCommand.Parameters(0).Value = row4.Item(0)
MyCommand.Parameters(0).SqlDbType = SqlDbType.UniqueIdentifier
MyCommand.Parameters(0).Direction = ParameterDirection.ReturnValue

MyCommand.Parameters.AddWithValue("@PId", row4.Item(0))
MyCommand.Parameters.AddWithValue("@Codigo", cod_Actv)
...
MyCommand.ExecuteScalar()
WBSconn.Close()
Dim id_t As Guid = CType(MyCommand.Parameters("@Id").Value, Guid)

El error que me muestra es:
El procedimiento 'sp_Insert_Tipo_Actividad' precisa el parámetro '@Id', que no se ha especificado.

Como que no se ha especificado?? he hecho mil maneras distintas de asignarle el valor a @Id pero pareciera que no lo reconoce o que no entiende el @Id = newId() del stored procedure. Que hago??????? Mil gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder