Hola ...
Podrías implementar una clase
Transaccion basada en el uso del SqlTransacction y SqlConnection del NameSpace System.Data.SqlClient (Si tu manejador de BD es SQL SERVER), así, si llegase a ocurrir un error invocarías al método Rollback() y si la transacción se llegara a completar sin problemas invocarías al método Commit().
Código:
public static void agregar(
int codigoReporteProblema,
int codigoAnalista,
DateTime fechaInicio,
DateTime fechaFin,
int cantidad,
int codigoTiempo)
{
Transaccion oTransaccion = new Transaccion();
try
{
SolucionProblemaAD.agregar(
codigoReporteProblema,
codigoAnalista,
fechaInicio,
fechaFin,
cantidad,
codigoTiempo,
oTransaccion );
ReporteProblema.actualizarEstado(
codigoReporteProblema,
2,
oTransaccion);
oTransaccion.Commit();
}
catch(Exception ex)
{
oTransaccion.Rollback();
throw ex;
}
}
Otra manera de manejar las transacciones es usando los servicios COM+, puedes encontrar un paso a paso de cómo crear un componente que use estos servicios en ...
http://support.microsoft.com/default...d=kb;es;306296 http://www.microsoft.com/spanish/msd...comservnet.asp
Saludos cordiales.