[Lazarus-es] zeos-firebird: ejemplo transacciones

Maxi maximiliano.duarte en gmail.com
Jue Mayo 6 19:03:24 CEST 2010


El 6 de mayo de 2010 13:51, Paola Bruccoleri
<pbruccoleri en adinet.com.uy>escribió:

> Hola..
> alguien tiene algún ejemplo (usando zeos/firebird2) donde graba varios
> registros en varias tablas (usando o no sp) y que queden en la misma
> transacción?? quisiera ver cómo lo están resolviendo.
>
> esto es lo que yo hago:
>
>  DBMain.fdb.AutoCommit:= false;
>
>  try
>    DBMain.qry.Close;
>    DBMain.qry.SQL.Text:= 'update numeros set boletas =
> '+IntToStr(nComprob+1);
>    DBMain.qry.ExecSQL;
>  except
>    MessageDlg('Error', 'Hay error ', mtWarning, [mbOk], 0);
>    DBMain.fdb.Rollback;
>  end;
>
>  ..... varias sentencias: inserts, updates.... todas entre try/except
>
>  DBMain.fdb.Commit;
>  DBMain.fdb.AutoCommit:= true;
>
> Si uso un generador para incrementar el contador de comprobantes, se supone
> que si todo el proceso de grabar está dentro de la misma transacción, puedo
> seguir consultando por el valor del generador, que no se me va a modificar,
> no?
>
> chauuuuuuuuuu
>
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>


sino me equivoco los generadores estan fuera de las transacciones.
usa un contador en tabla para los comprobantes, no te guies de un generador
x que este cambia al momento de la consulta.

-- 
Twitter: @nenunocomar
Maximiliano Duarte
Linux User #495070
Ubuntu User #28504

Tolerancia significa disculpar los defectos de los demás; tacto, no reparar
en ellos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20100506/3c8db064/attachment-0002.html>


More information about the Lazarus-es mailing list