Valor de retorno de un procedimiento almacenado

18/11/2003 - 17:11 por JoseMiguel | Informe spam
Hola a todos,
estoy haciendo una aplicacion web que utiliza SQLServer como base de
datos y procedimientos almacenados como metodo para interactuar con este. El
caso es que necesito recuperar un resultado despues de la ejecución de un
procedimiento. Si lo ejecuto desde el codigo de mi aplicación, nunca me
devuelve el resultado, si lo hago desde el analizador de consultas sql en
modo depuración, si que devuelve el valor que yo necesito. Acaso no lo pongo
bien?:

Dim intReturn as integer
.
'Previa asignacion de valores a parametros
intReturn = myDataAdapter.InsertCommand.ExecuteNonQuery()

En el procedimiento:

CREATE PROCEDURE prpInsertCustomer
@idClientePK int output,
@otros parametros

AS
IF @@error = 0 BEGIN
COMMIT
END ELSE BEGIN
SELECT @IdClientePK = 0
ROLLBACK TRAN
END

RETURN @IdClientePK

GO

Ven ustedes algo mal en este procedimiento?

Gracias a todos por vuestras respuestas.

JoséMiguel
 

Leer las respuestas

#1 Aragorn \(CL\)
18/11/2003 - 18:38 | Informe spam
estas ocupando :

ExecuteNonQuery()

deberias ocupar

ExecuteReader()

Aragorn.


"JoseMiguel" <josemiguelQya.com> escribió en el mensaje
news:
Hola a todos,
estoy haciendo una aplicacion web que utiliza SQLServer como base de
datos y procedimientos almacenados como metodo para interactuar con este.


El
caso es que necesito recuperar un resultado despues de la ejecución de un
procedimiento. Si lo ejecuto desde el codigo de mi aplicación, nunca me
devuelve el resultado, si lo hago desde el analizador de consultas sql en
modo depuración, si que devuelve el valor que yo necesito. Acaso no lo


pongo
bien?:

Dim intReturn as integer
.
'Previa asignacion de valores a parametros
intReturn = myDataAdapter.InsertCommand.ExecuteNonQuery()

En el procedimiento:

CREATE PROCEDURE prpInsertCustomer
@idClientePK int output,
@otros parametros

AS
IF @@error = 0 BEGIN
COMMIT
END ELSE BEGIN
SELECT @IdClientePK = 0
ROLLBACK TRAN
END

RETURN @IdClientePK

GO

Ven ustedes algo mal en este procedimiento?

Gracias a todos por vuestras respuestas.

JoséMiguel


Preguntas similares