Foros del Web » Programando para Internet » PHP »

Transaccionalidad con AdoBD

Estas en el tema de Transaccionalidad con AdoBD en el foro de PHP en Foros del Web. Hola a todos, me gustaría utilizar transaccionalidad en mi proyecto con AdoDB. He leído en el manual lo siguiente: Cita: Con transacciones inteligentes es mas ...
  #1 (permalink)  
Antiguo 08/04/2008, 11:23
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años
Puntos: 0
Pregunta Transaccionalidad con AdoBD

Hola a todos,

me gustaría utilizar transaccionalidad en mi proyecto con AdoDB. He leído en el manual lo siguiente:
Cita:
Con transacciones inteligentes es mas sencillo. Se empieza una transaccion invocando StartTrans():

$conn->StartTrans();
$conn->Execute($sql);
$conn->Execute($Sql2);
$conn->CompleteTrans();

El metodo CompleteTrans() detecta cuando ocurrio un error SQL, y procesara Rollback o Commit segun sea necesario. Para forzar especificamente un evento rollback si no ha ocurrido un error, usa el metodo FailTrans(). Toma en cuenta que el rollback se efectua HASTA el CompleteTrans(), y no con el FailTrans().

$conn->StartTrans();
$conn->Execute($sql);
if (!CheckRecords()) $conn->FailTrans();
$conn->Execute($Sql2);
$conn->CompleteTrans();

Tambien se puede verificar si una transaccion a fallado usando HasFailedTrans(), el cual nos devuelve verdadero si se ha invocado FailTrans() o si hubo un error en la ejecucion de los SQL. Asegurese de usar HasFailedTrans() antes de llamar a CompleteTrans(), ya que esta unicamente funciona dentro de StartTrans y CompleteTrans.
Mi pregunta es si sólo con : StartTrans()/CompleteTrans(), ya no es necesario tratar excepciones porque lo hace solo o si es necesario utilizar las excepciones que el propio AdoBD tiene en un fichero.

Última edición por GatorV; 08/04/2008 a las 11:38
  #2 (permalink)  
Antiguo 09/04/2008, 02:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años
Puntos: 0
Pregunta Re: Transaccionalidad con AdoBD

Alguién sabe algo respecto al tema planteado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:47.