Page 1 of 1

ADS ROLLBACK

Posted: 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 _ memos no se pueden grabar arreglos, hay que colocar alguna libreria adicional?


Saludos
Patricio

Posted: 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.