Variable de SP

14/10/2004 - 23:41 por grancesarx | Informe spam
Tengo una aplicación en VB.NET y tengo formularios windows donde
regularmente necesito capturar una variable retornada de un Procedimiento
Almacenado de SQL Server 2000.

Store Procedure

@variable int = null output

.

as
actualización tablas de la base de datos
..
set @variable = @@identity o cualquier otra asignación válida

return @variable

Y, por supuesto en el codigo el proceso normal

Dim cmd As New SqlCommand("ProcedimientoAlmacenado", cn)
cmd.CommandType = CommandType.StoredProcedure
cn.Open()
Try
cmd.Parameters.Add("@variable", SqlDbType.Char, 6).Value = 0
.
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cn.Close()
cmd.Dispose()
End Try

Gracias por su ayuda

Atte,


César Fuentes
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
15/10/2004 - 01:09 | Informe spam
Para obtener el valor de retorno de un SP (lo que devuelves con RETURN)
debes especificar en el parametro del comando que es un valor de retorno.
Para ello debes indicar que la direccion del parametro es ReturnValue y del
tipo Int (es el unico tipo que puede devolverse con RETURN):

With cmd.Parameters.Add("@variable", System.Data.SqlDbType.Int)
.Direction = System.Data.ParameterDirection.ReturnValue
End With

Luego de ejecutar el comando en la propiedad Value de ese parametro tendras
el valor devuelto por el SP.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo

Preguntas similares