Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Transacciones en Oracle9i y Delphi 6 (https://www.clubdelphi.com/foros/showthread.php?t=32955)

dblx 22-06-2006 03:04:00

Transacciones en Oracle9i y Delphi 6
 
Hola...

Estoy desarrollando un proyecto en Delphi 6 usando Oracle9i, quisiera saber bien como se hacen las transacciones...

Porfavor le agradeceré enormemente a la persona que me envie algo de codigo para realizar las transacciones.

comienzo_transaccion
insert...
insert...
update...
fin_transaccion
if transaccion_completa then commit
else rollback

no se muy bien la sintaxis en el delphi para hacer esto gracias de antemano

uso los componentes ADO

reina 23-06-2006 04:34:17

Holaa miraa..En ado si echas una mirada al help de delphi, te aclararian mucho las ideas. En el comp. AdoConnection tenes un metodo q es StartTransaction..o BeginTRansaction no recuerdo bien. Deberias proteger el bloque..de modificacion con un try... except...
Si pasa algo haces un rollback(si se produce un excepcion).
Lo que te comento rapidamente aqui..lo tenes en la ayuda o aqui mismo en el foro..o en el gran libro La Cara Oculta de Delphi 4! que lo podes bajar de la red.
Espero te sirva mi comentario..y exitoss

LA PATRIA SERA LIBRE!

dblx 24-06-2006 20:15:02

Gracias por tu atencion reina... Si la propiedad del ADO es BeginTransaction regresa un valor integer... en la ayuda aparece algo muy corto necesito un ejemplo operativo y nunca he usado el try...except pero si lo he visto en muchas aplicaciones ejemplo del delphi... funciona como un if () then...else ??? gracias... intentare averiguar mas sobre el tema

kuan-yiu 26-06-2006 10:39:10

Pues yo lo uso así. A ver si te sirve :)
Código Delphi [-]
  try
    database1.starttransaction;
{
 Aquí realizas el update o insert o lo que sea.
}
    database1.commit;
  except
    On E: Exception do
      begin
        database1.rollback;
        ShowMessage('Error:' + chr(13) + E.Message);
        exit;
      end;
  end;


La franja horaria es GMT +2. Ahora son las 14:33:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi