COMO LEO LOS PARAMETROS DE SQLCOMMAND

31/01/2006 - 00:30 por Marcelo | Informe spam
Que tal...
Tengo un Sp en Sql2000 que tiene parametros de salida (output), estoy
intentando leer estos parametros, pero no tengo claro. Si usat el
EecuteNonqUERY o Execute reader.

El sp luego de hacer un update, ejecuta un select y este resultado de un
valor es el que neceito recibirlo en VB.

Si alguien me ayuda, estare agradecido.

mpc

Preguntas similare

Leer las respuestas

#1 Eduardo Alvarado Meza
31/01/2006 - 05:48 | Informe spam
Marcelo, si tu SP da como como resultado uno o varios conjuntos de registros
has de usar un ExecuteReader y leerlo con un SQLDataReader de esta manera:

Do
While MyReader.Read()
.
End While
Loop While MyReader.NextResult

Si tu SP regresa solamente un valor en una fila con una sola columa, utiliza
ExecuteScarlar que te retornara el valor de la primera en la primera columna
en cualquier caso.

Ahora si tu SP te retorna tu valor a traves de un parametro y necesitas
leerlo al final, puedes utilizar el ExecuteNonQuery, de esta manera
posiblemente:

Dim MiComando As New SqlCommand("EXEC PRUEBA @PARAM OUTPUT", SqlConnection)
MiComando.Parameters.Add("@PARAM", SqlDbType.Int).Direction =
ParameterDirection.Output
MiComando.ExecuteNonQuery
Respuesta = MiComando.Parameters("@PARAM").Value

Sin embargo es posible tambien leer estos parametros con ExecuteReader si
adicionalmente vas a leer registros.
Respuesta Responder a este mensaje
#2 Jesús López
31/01/2006 - 10:21 | Informe spam
¿Y si el procedimiento almacenado devuelve un conjunto de registros y además
tiene parámetros de salida? :-)

Saludos:

Jesús López
MVP
Respuesta Responder a este mensaje
#3 Marcelo
31/01/2006 - 16:44 | Informe spam
ok. Gracias. Funciono Ya.
mpc


"Eduardo Alvarado Meza" escribió:

Marcelo, si tu SP da como como resultado uno o varios conjuntos de registros
has de usar un ExecuteReader y leerlo con un SQLDataReader de esta manera:

Do
While MyReader.Read()
.
End While
Loop While MyReader.NextResult

Si tu SP regresa solamente un valor en una fila con una sola columa, utiliza
ExecuteScarlar que te retornara el valor de la primera en la primera columna
en cualquier caso.

Ahora si tu SP te retorna tu valor a traves de un parametro y necesitas
leerlo al final, puedes utilizar el ExecuteNonQuery, de esta manera
posiblemente:

Dim MiComando As New SqlCommand("EXEC PRUEBA @PARAM OUTPUT", SqlConnection)
MiComando.Parameters.Add("@PARAM", SqlDbType.Int).Direction =
ParameterDirection.Output
MiComando.ExecuteNonQuery
Respuesta = MiComando.Parameters("@PARAM").Value

Sin embargo es posible tambien leer estos parametros con ExecuteReader si
adicionalmente vas a leer registros.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida