INSERT INTO ... If (@@error != 0) Begin SET @nIdEntrada = -1 RollBack Tran EntradasAdd End Else Begin SET @nIdEntrada = IDENT_CURRENT('Entradas') Commit tran EntradasAdd End Endy cuando leas el resultado del S.P desde tu programa controles que no sea -1
>CREATE PROCEDURE [Entradas_Add] > (@Fecha [datetime], > @IdProveedor [int], > @Factura [varchar](15), > @FacturaFecha [datetime], > @IVAPorcentaje [decimal](6,2), > @IVA [money], > @Importe [money], > @IdUsuario [varchar](20), > @nIdEntrada [int] OUTPUT) >AS > >BEGIN TRANSACTION EntradasAdd > >INSERT INTO [Sitra].[dbo].[Entradas] > ( [Fecha], > [IdProveedor], > [Factura], > [FacturaFecha], > [IVAPorcentaje], > [IVA], > [Importe], > [IdUsuario]) > >VALUES > ( @Fecha, > @IdProveedor, > @Factura, > @FacturaFecha, > @IVAPorcentaje, > @IVA, > @Importe, > @IdUsuario) > >SET @nIdEntrada = IDENT_CURRENT('Entradas') >COMMIT TRANSACTION EntradasAdd >GO > >>