manejo de errores
Publicado por Alfredo (47 intervenciones) el 09/08/2006 16:18:32
Si tengo en mi capa de logica de negocio este código:
Try
DatosSql.Ejecutar("PE_I_Seguimiento", DatosSeguimiento)
Dim ls As Long
Return DatosSeguimiento.GetValue(0)
Catch error_bd As SqlClient.SqlException
manejoerror.EscribirEntrada(error_bd.Message)
End Try
Y el procedimiento no usa la variable @@error, de darse un error a nivel de base de datos el catch captura el error o para esto debe usarse la variable @@error???
ALTER PROCEDURE PE_I_Seguimiento
( @Id int = 0 output,
@Secuencial bigint,
@IdElemento int,
@IdActividad int,
@IdEstadoInicial char(2),
@IdAccion int,
@IdEstadoFinal char(2),
@IdUsuario varchar(128),
@FechaRegistro datetime
)
AS
INSERT INTO dbo.TD_SEGUIMIENTO(CodigoExpediente,IdElemento, IdActividad, IdEstadoInicial, IdAccion, IdEstadoFinal, IdUsuarioRegistra,FechaRegistro)
VALUES (@Secuencial,@IdElemento, @IdActividad, @IdEstadoInicial, @IdAccion, @IdEstadoFinal, @IdUsuario, @FechaRegistro);
-- SELECT Consecutivo, IdElemento, IdActividad, CodigoExpediente, IdEstadoInicial, IdAccion, IdEstadoFinal, IdUsuarioRegistra, FechaRegistro
-- FROM TD_SEGUIMIENTO
--WHERE (Consecutivo = @@IDENTITY)
set @id=@@IDENTITY
Try
DatosSql.Ejecutar("PE_I_Seguimiento", DatosSeguimiento)
Dim ls As Long
Return DatosSeguimiento.GetValue(0)
Catch error_bd As SqlClient.SqlException
manejoerror.EscribirEntrada(error_bd.Message)
End Try
Y el procedimiento no usa la variable @@error, de darse un error a nivel de base de datos el catch captura el error o para esto debe usarse la variable @@error???
ALTER PROCEDURE PE_I_Seguimiento
( @Id int = 0 output,
@Secuencial bigint,
@IdElemento int,
@IdActividad int,
@IdEstadoInicial char(2),
@IdAccion int,
@IdEstadoFinal char(2),
@IdUsuario varchar(128),
@FechaRegistro datetime
)
AS
INSERT INTO dbo.TD_SEGUIMIENTO(CodigoExpediente,IdElemento, IdActividad, IdEstadoInicial, IdAccion, IdEstadoFinal, IdUsuarioRegistra,FechaRegistro)
VALUES (@Secuencial,@IdElemento, @IdActividad, @IdEstadoInicial, @IdAccion, @IdEstadoFinal, @IdUsuario, @FechaRegistro);
-- SELECT Consecutivo, IdElemento, IdActividad, CodigoExpediente, IdEstadoInicial, IdAccion, IdEstadoFinal, IdUsuarioRegistra, FechaRegistro
-- FROM TD_SEGUIMIENTO
--WHERE (Consecutivo = @@IDENTITY)
set @id=@@IDENTITY
Valora esta pregunta


0