PDA

Ver la Versión Completa : tclientdataset.applyupdate dentro de una transaccion


Gran Cacique
12-11-2007, 17:18:07
Hola amigos.

Tengo una duda. Tengo un tclientdataset.applyupdate dentro de una transaccion, pero los cambios en la base de datos no se producen al hacer commit a la transaccion, si no que se hacen en el applyupdate.
¿Por que el tclientdataset.applyupdate no respeta la transaccion?

De antemano muchisimas gracias por sus respuestas

juanelo
12-11-2007, 18:21:22
Hola,
Lo que pasa es que cuando haces un ApplyUpdates con un ClientDataset lo que sucede en realidad es que las operaciones hechas son manejadas por el DatasetProvider que es el encargado de iniciar la transaction, armar la(s) sentenecia(s) SQL para realizar ese(os) cambio(s) y posteriormente hacer un commit, con la ventaja quen esto tiene de que el tiempo de la transaction es o deberia de ser muy corto.
Saludos

Al González
12-11-2007, 23:40:45
Hola de nuevo.

La manera nativa en que los componentes de conexión manejan las transacciones no involucra la memoria o el estado de los componentes TClientDataSet, por el hecho de que unos y otros "viven" en diferentes capas.

Es decir, que yo sepa, de forma nativa no hay "transacciones multi-capa" en Delphi. Por ello lo que te comentaba esta mañana (http://www.clubdelphi.com/foros/showpost.php?p=245564&postcount=6).

Un abrazo cometido.

Al González. :)

Gran Cacique
14-11-2007, 15:53:34
Gracias a todos por haberme sacado de mi duda. Se los agradesco de verdad. Saludos y buena onda