[Lazarus-es] BD no guarda cambios

Alejandro D. Burne alejandro.dburne en gmail.com
Dom Jul 19 16:26:25 CEST 2009


Esto suena a que inicias una transacción al principio de tu aplicación
(con un begin implícito o no) y luegos nunca la terminas (con un
commit), por ello mientras esta conexión está activa vas a ver los
cambios reflejados, cuando te desconectas se hace un rollback
implícito.
Para sacarte la duda abre una segunda instancia de tu aplicación, haz
alguna modificación sobre algun dato en la primera y ve si se reflejan
en la segunda, si esto no sucede seguramente es esto que te estoy
comentando.

Saludos, Alejandro

2009/7/19 Yuri Pacoricona Palomino <recursosgerenciales en infopuno.com>:
> Hola amigos, espero puedan ayudarme en este lio que aun no logro resolverlo
> con mi base de datos.
> Tengo algunos registros que no puedo actualizar, al guardar el registro en
> la BD, no reporta error, aparentemente esta bien, visualizo todo, tambien
> los reportes que imprimo, pero al reingresar a la aplicacion obtengo los
> datos anteriores, es decir simplemente no guarda algunos registros.
> Inicialmente estuve trabajando con sqlite, luego migre la data a postgresql,
> pero el resultado es el mismo. Antes anduvo todo bien, incluso el ingreso de
> datos los realize con la aplicacion.
> No tengo idea de que pueda estar pasando, he trabajado con zeos 6.6.3,
> 6.6.5, 7.0, y lazarus 0.9.27 svn 20817, 0.9.27 svn 20665, , Ubuntu 8.10,
> pero el problema persiste. Hice lo propio en windows xp, y el resultado es
> el mismo.
>
> Aqui parte del codigo
>
> var nTotPtd:real;
> begin
>     nTotPtd :=
> 0.00;
>
> fDB.tdPtd.first;
>     while not fDB.tdPtd.eof do
> begin
>
> fDB.tdPtd.edit;
>        fDB.tdPtdxPreUni.asCurrency :=
> redondear(Fdb.tDPtdxPreUniItm.AsCurrency,3);
>        fDB.tdPtdxImpItm.asCurrency := redondear(Fdb.tdPtdxPreUni.AsCurrency
> * Fdb.tdPtdxCanItm.AsCurrency,3);
>        nTotPtd := nTotPtd +
> fDB.tdPtdxImpItm.asCurrency;
>        try
>
> fDB.tdPtd.post;
>
> except
>
> fDB.tdPtd.CancelUpdates;
>       end;
>
> fDB.tdPtd.next;
>
> end;
>
>
> fDB.qmPtd.Edit;
>     fDB.qmPtdxCtoDir.asCurrency :=
> redondear(nTotPtd,3);
>     fDB.qmPtdxGtoGrl.asCurrency :=
> redondear(nTotPtd*0.1,3);
>     fDB.qmPtdxCtoOpr.asCurrency :=
> redondear(nTotPtd+fDB.qmPtdxGtoGrl.asCurrency,3);
>     fDB.qmPtdxBasImp.asCurrency := redondear(fDB.qmPtdxCtoOpr.asCurrency,2
> );
>     fDB.qmPtdxIGV.asCurrency    :=
> redondear(fDB.qmPtdxBasImp.asCurrency*0.19,2);
>     fDB.qmPtdxImpTot.asCurrency := redondear(fDB.qmPtdxBasImp.asCurrency +
> fDB.qmPtdxIGV.asCurrency,2);
>
> try
>
> fDB.qmPtd.post;
> //        ShowMessage('Guardado
> ');
>
> except
>
> fDB.qmptd.CancelUpdates;
>         ShowMessage('Error
> ');
>
> end;
> end;
>
> Les agradezco alguna luz a mi problema.
>
> Saludos
>
> Yuri Pacoricona Palomino
> Puno-Peru
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>




More information about the Lazarus-es mailing list