Ver Mensaje Individual
  #1  
Antiguo 06-10-2005
kikodelphi kikodelphi is offline
Miembro
 
Registrado: ene 2005
Posts: 23
Reputación: 0
kikodelphi Va por buen camino
Devolver código de error de una transacción

Hola
No puedo capturar el código de retorno si ocurre un error en la ejecución del Procedimiento Almacenado. El parámetro está definido en la aplicación, pero aún cuando falla la Transacción me entrega un valor Null = nada y la Transacción se aborta.
¿Como puedo leer ese código de error?
El objetivo es disparar un mensaje sobre la no grabación.

Código SQL [-]
 CREATE PROCEDURE GrabaComprVta @IDCliente Int, .... , @Er int output  AS
 ///////////////
 ////////////
 ///////
 BEGIN TRANSACTION
 Select @IDCompr = MAX(IDComprobante) from Comprobante 
 ///////////
 ///////     insert .......
 ///////
 IF (@@ERROR<>0) GOTO TratarError
      
 COMMIT TRAN
 
 TratarError:     -- // etiqueta
 --Si ha ocurrido algún error llegamos hasta aquí
 If @@Error<>0
 BEGIN
     set @Er = @@ERROR
     ROLLBACK TRAN
 END
 GO
¿Está mal confeccionada la lógica de la transacción?

Última edición por dec fecha: 06-10-2005 a las 16:09:29. Razón: ¡¡Encerrad el código fuente entre las etiquetas [SQL] ... [/SQL]!!
Responder Con Cita