FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Uso adecuado de Rollback
Hola a todos, estoy comenzando con Firebird (v1.5) y si bien la voy llevando tengo ciertas dudas. Estoy haciendo una aplicación con Delphi 7, uso los componentes IBX y no estoy usando CachéUpdate.
Params. de la transacción: readcommited, nowait,rec_version,concurrency. Los errores los capturo en en evento OnException de la aplicación, todo esto funcionando al pelo. En este caso particular, el Commit está al cerrar el form, no en el AfterPost o AfterDelete. Si bien a fuerza de ensayo y error, lecturas varias, incluso mensajes de este foro he sacado algunas conclusiones, aun tengo ciertas lagunas. Ahora bien, intentando ver como funciona el 'bloqueo' y las transacciones abrí 2 ventanas de mi aplicación (el .exe) para simular digamos un funcionamiento en red. Llamemosle aplicacion 1 y 2 respectivamente. Supongamos ambas modifican el mismo registro, pero una realiza un post antes que la otra (aun no se realizó el Commit), la 1 x ej. Luego la 2 al intentar hacer el post, lanza la excepción que es capturada y todo lindo. Mi duda es si las modificaciones hechas por 2, deben ser deshechas con Rollback, o eso se aplica solo si falla el Commit o que otros casos es aplicable. (Aun trabajando desde una sola aplicación, sin otra aplic. concurrente, cuando esto en modo de edición de la tabla, al cancelar los cambios, ya es suficiente, desaparecen sin necesidad de hacer Rollback) Bueno, fue extenso, espero nadie haya quedado dormido, pero es para que se entienda. Gracias saludos a todos, rochi Última edición por rochi fecha: 20-11-2004 a las 04:01:13. |
|
|
|