![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#4
|
||||
|
||||
|
Cita:
te puedo poner un ejemplo de como usar las transacciones(ya que no encuentro la forma de explicar en un ejemplo el Rollback sin poner el StartTransaction o incluso el Commit) desde un punto de vista: Imaginate que necesitas hacer una aplicacion en la que tienes que guardar una tabla maestra(DOC) y una tabla detalle(DOCDET) (estas relacionadas al "Documento" que el usuario esta digitando) y que ademas deba llenar otras dos tablas(CONTA y CONTADET) que estan relacionadas tambien al mismo "Documento" pero en las cuales guardaras información contable.... En dichas tablas deben haber llaves foraneas(Recuerden que es un ejemplo), indicando por ejemplo que el codigo de IVA que se guardara en la tabla CONTADET debe existir en la tabla llamada IVA. Nota: Podemos extender un poco mas el ejemplo utiizando Tquery's para guardar los registros en las tablas pero temo que esto se puede poner algo Tedioso haciendolo de esa manera, asi que solo usaremos el DataSet.POST simulando que hemos trabajado con un TTable. Entonces, supongamos que en el Boton Guardar(btGuardar) ponemos el siguiente codigo.
en teoria, eso guardaria correctamente los registros en dichas tablas, pero ¿que sucede si el codigo de IVA que tiene que guardar en la tabla CONTA no existe en la tabla llamada IVA? R//.
Y listo, no mostraria el temido error, pero ¿ese en realidad es el verdadero problema? R//. No, el problema real es que debemos cuidar la integridad de nuestra aplicación y garantizar de que se guardaron correctamente los datos o no. Para eso podriamos utilizar un "Bloque protegido con transacciones", podria ser algo como esto:
De esta manera podemos garantizar que todos o ninguno de los datos seran guardados. Espero me haga entender y que ademas te sirva de algo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ Última edición por jhonny fecha: 20-11-2004 a las 20:01:34. |
|
|
|