Problema en storeProcedure(Valor Retorno) Urgente Por Favor

29/09/2005 - 18:34 por Miko_tnt | Informe spam
Buenas a todos

Tengo el siguiente problema resulta que tengo un
procedimiento almacenado el cuel mira si un dato
esta en una tabla y deacuerdo a esto retorna
un 1 o un 0, es muy simple:


alter PROCEDURE sp_miProcedimiento
@Dato Char(10)
AS
if exists(select columna1 from miTabla where columna1 = @Dato)
return 1
else
return 0
go

ahora quiero ejecutar este procedimiento desde mi programa en vb.Net
y quiero recuperar el valor de retorno 1 o 0. Hago lo siguiente...

dim miValorRetorno as integer = 0
dim parametros() as sqlparameter
dim comando as sqlparameter
dim strcomando as string

redim parametros(1)


strcomando = "sp_miProcedimiento"
comando = New SqlCommand(strcomando , conexion)
comando.CommandType = CommandType.StoredProcedure
ReDim parametrosValida(2)

parametros(0) = comando.Parameters.Add("@Dato", SqlDbType.Char)
parametros(0).Value = "miDatoABuscar"
parametros(0).Direction = ParameterDirection.Input


comando.ExecuteNonQuery()

comoya dije el procedimiento va a devolver un 1 o 0, pero en mi programa
no c como recuperar ese valor de retorno, se que puedo hacer:

redim parametros(2) y agregar otro paremetro de tipo

parametros(1).Direction = ParameterDirection.ReturnValue

pero me muestra error, ¿como puedo obtener el valor de retorno y
asignarselo a la variable miValorRetorno ...?

Muchas Gracias por su tiempo ... es urgente , agradezco cualquier ayuda
 

Leer las respuestas

#1 A.Poblacion
29/09/2005 - 18:50 | Informe spam
"Miko_tnt" wrote in message
news:
Tengo el siguiente problema resulta que tengo un
procedimiento almacenado el cuel mira si un dato
esta en una tabla y deacuerdo a esto retorna
un 1 o un 0, es muy simple:


alter PROCEDURE sp_miProcedimiento
@Dato Char(10)
AS
if exists(select columna1 from miTabla where columna1 = @Dato)
return 1
else
return 0
go

ahora quiero ejecutar este procedimiento desde mi programa en vb.Net
y quiero recuperar el valor de retorno 1 o 0. Hago lo siguiente...

dim miValorRetorno as integer = 0
dim parametros() as sqlparameter
dim comando as sqlparameter
dim strcomando as string

redim parametros(1)


strcomando = "sp_miProcedimiento"
comando = New SqlCommand(strcomando , conexion)
comando.CommandType = CommandType.StoredProcedure
ReDim parametrosValida(2)

parametros(0) = comando.Parameters.Add("@Dato", SqlDbType.Char)
parametros(0).Value = "miDatoABuscar"
parametros(0).Direction = ParameterDirection.Input


comando.ExecuteNonQuery()

comoya dije el procedimiento va a devolver un 1 o 0, pero en mi programa
no c como recuperar ese valor de retorno, se que puedo hacer:

redim parametros(2) y agregar otro paremetro de tipo

parametros(1).Direction = ParameterDirection.ReturnValue

pero me muestra error, ¿como puedo obtener el valor de retorno y
asignarselo a la variable miValorRetorno ...?

Muchas Gracias por su tiempo ... es urgente , agradezco cualquier ayuda



Ahi va:

Dim param as SqlParameter

strcomando = "sp_miProcedimiento"
comando = New SqlCommand(strcomando , conexion)
comando.CommandType = CommandType.StoredProcedure

param = comando.Parameters.Add("@Dato", SqlDbType.Char, 10)
param.Value = "miDatoABuscar"
param.Direction = ParameterDirection.Input

param = comando.Parameters.Add("@RETURN_VALUE", SqlDbType.Int)
param.Direction = ParameterDirection.Result

comando.ExecuteNonQuery()

Dim resultado as Integer
resultado = comando.Parameters("@RETURN_VALUE").Value

conexion.Close() 'Importante: Primero recuperar resultado, antes de cerrar
conexion

Preguntas similares