Page 1 of 1

ADS ROLLBACK

PostPosted: Thu Oct 12, 2006 3:43 pm
by Patricio Avalos Aguirre
Hola!!

Tengo dos preguntas si alguien me las puede responder

Como funciona AdsRollBack()

He estado probando que el sistema cree un error y en el errorsys ejecuto la funcion AdsRollBack(), pero igual los datos quedan en las bases, hay algun metodo como hacerlo funcionar

otra cosa, en los campos memos no se pueden grabar arreglos, hay que colocar alguna libreria adicional?


Saludos
Patricio

PostPosted: Thu Oct 12, 2006 4:10 pm
by R.F.
Patricio:

LAs transacciones con ADS solo funcionan cuando trabajas con el servidor remoto y con el servidor internet, con el servdiro local las instrucciones estan soportadas por compatibilidad pero no hacen nada.

ADSRollback() solo funciona si es llamado entre la llamada a un ADSBeginTransaction() y un ADSCommitTransaction()

Ejemplo:

ADSBeginTransaction()
SELECT x
REPLACE ....
REPLACE ....

TRY .....
CATCH
..... ADSRollBack()

SELECT Y
REPLACE
REPLACE
ADSCommitTransaction().

En general no necesitas llamar manualmente a ADSRollback(), porque si ADS detecta un ADSBeginTransaction() abierto, y no detecta un ADSCommitTransaction(), porque el programa haya fallado, se haya ejecutado una insturccion invalida o se haya perdido la conexion con el servidor, el Rollback() se hace de manera automatica.