Retorno de un Procedimiento almacenado

Victor
31 de Marzo del 2004
Buenas, estoy intentando validar si un procedimiento almacenado se ha ejecutado correctamente o no, para ellos lo tengo la siguiente forma.

REATE PROCEDURE SP_cambia_referencia_material
@ref_nueva as nvarchar(50), /*la nueva referencia*/
@ref_vieja as nvarchar(32), /*la referencia actual*/
@retorno int OUTPUT
AS
BEGIN

/*en algun momento si sale bien hago esto*/
set @retorno =1
RETURN @retorno
/*y si no sale bien*/
set @retorno =0
RETURN @retorno

El problema es...como puedo al ejecutar este procedimiento recoger ese valor de retorno, para saber is se ha ejectado bien o no. Yo normalmente ejecuto los procedimientos así.

/*cngema es un adoDB.connection*/
cnGEMA.Execute("exec SP_cambia_referencia_material '" & respuesta & "','" & TDBGrid_alm_mat.Columns(0).Text & "','0'")

¿alguien me puede ayudar?..he probado igualandolo a una variable pero falla. Muchas Gracias.