Visual Basic.NET - Regresar un valor de un Store Procedure a VBA.NET

 
Vista:

Regresar un valor de un Store Procedure a VBA.NET

Publicado por Hugo Rodriguez (6 intervenciones) el 28/08/2007 01:17:10
Hola a todos...
Tengo un problema con mi consulta en Visual Basic .Net debido a que mando valores a mi store procedure y me debe de regresar un valor (el identity) y al hacer la consulta el SQL si lo hace y graba informacion en la tabla pero no me regresa el valor a Visual Basic. ¿Me podrian ayudar x favor?

Mi consulta de SQL es la siguiente:

Create Procedure dbo.pa_Nuevo_Pedido
@nClave as int,
----------Parámetros de salida----------
@nCvePedido int OUTPUT
AS
Insert Pedidos CveSucursal Values @nCveSucursal

Set @nCvePedido = SCOPE_IDENTITY()
Go

y Mi consulta de Visual Basic .Net es la sig.

Public Function InsertaEncabezado(ByVal nCveSucursal As Integer, _
ByVal cServidor As String, ByVal cBaseDatos As String) As Long

Dim SqlConnection1 As New SqlClient.SqlConnection
Dim SqlStored As SqlClient.SqlCommand
Dim nCvePedido As Long 'Regresa la clave del pedido

'Creación de la cadena de conexión...
SqlConnection1.ConnectionString = "data source=" + cServidor + ";initial catalog=" + cBaseDatos + ";Integrated Security=True"
SqlConnection1.Open()

SqlStored = New SqlClient.SqlCommand 'Instancía el objeto comando
SqlStored.CommandType = CommandType.StoredProcedure ' (proc. almacenado)
SqlStored.CommandText = "pa_Nuevo_Pedido" 'Nombre del Stored Procedure
SqlStored.Connection = SqlConnection1 'Enlaza al servidor

SqlStored.Parameters.Add("@nClave", SqlDbType.Int).Value = nCveSucursal
SqlStored.Parameters("@nClave").Direction = ParameterDirection.Input
'Parámetros de Salida
nCvePedido = SqlStored.Parameters.Add("@nCvePedido", SqlDbType.Int).Value
SqlStored.Parameters("@nCvePedido").Direction = ParameterDirection.Output

'Ejecutamos el procedimiento almacenado
SqlStored.ExecuteNonQuery()

InsertaEncabezado = nCvePedido

AQUI mi parametro de salida (nCvePedido) me debe regresar el valor de mi consulta de SQL pero no me regresa nada... ¿alguien sabe que estoy haciendo mal o que me hace falta para que me regrese el valor MI PARAMETRO DE SALIDA?

Muchas gracias desde YA...
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

RE:Regresar un valor de un Store Procedure a VBA.N

Publicado por Hugo (6 intervenciones) el 28/08/2007 17:42:37
Hola de nuevo... Ya resolví mi problema y lo publico a continuación x si alguien tiene el mismo problema que yo... Saludos cordiales

Todo está bien con excepcion de mi parametro de salida ya que debe quedar de la siguiente forma:

'Parámetros de Salida
SqlStored.Parameters.Add("@nCvePedido", SqlDbType.Int)
SqlStored.Parameters("@nCvePedido").Direction = ParameterDirection.Output

'Ejecutamos el procedimiento almacenado
SqlStored.ExecuteNonQuery()

'Regresa valor de la función
InsertaEncabezado = SqlStored.Parameters("@nCvePedido").Value

Un saludo a todos los miembros del foro y muchas gracias x todo.

ISC. Hugo Rodriguez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar