FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Duda de primaria..., ¿es posible y válida una estructura así?
¡Hola!
De repente me surgió una duda de niño de 7 años..., ¿es posible y válida para Delphi una estructura de control como ésta?
El punto es que requiero añadir a una tabla una serie de datos tomados de una matriz en memoria, PERO EN CASO DE FALLA que todos los datos ingresados en la tabla SE REVIERTAN y la tabla quede como estaba antes de entrar a éste proceso...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#2
|
||||
|
||||
Solo tienes que explícitamente iniciar y finalizar la transacción.
|
#3
|
||||
|
||||
Por descontado que sí..., me interesaba mucho éste punto de "try...except" y el "for... to..." interno para generar mi inserción en la tabla de MS SQLServer 2008 R2.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco Última edición por TiammatMX fecha: 05-11-2014 a las 20:37:21. Razón: Faltó una palabra importante. |
#4
|
||||
|
||||
Yo no le veo ningún problema.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
No sólo no debería haber problemas, como dice Neftali: Es que debería hacerse siempre así. Si no recuerdo mal, así se explica en "La Cara Oculta de Delphi", o quizá fue en otro libro.
La cuestión es que, si hay un error, entonces se debería "rollbackear" la transacción para evitar problemas ulteriores (corrupción de datos, actualizaciones incompletas, etc). El uso de "TRY .. EXCEPT .. END;" es, entonces, de uso obligado. Otro tema es decidir dónde poner el bloque "TRY .. EXCEPT", si dentro o fuera del bucle. Supongo que depende de dónde haces el Committeo. |
#6
|
||||
|
||||
Totalmente de acuerdo.
__________________
http://www.gestionportable.com |
#7
|
||||
|
||||
Seria interesante saber porque te surgió la duda.
__________________
El malabarista. |
#8
|
||||
|
||||
Por que tengo una función que es llamada en caso de agregarse un nuevo registro, y dentro de ésta función se añaden registros a otra tabla, una especie de bitácora.
Y de ahí, si todo es correcto, se le hace un "commit" a todos los registros recientemente añadidos, o en caso contrario, se revierte el proceso. Mi duda en concreto se centraba en que si la transacción TAMBIÉN abarcaba a los registros añadidos vía la función y los considera dentro del proceso del commit/rollback, y después de un tiempo corriendo para probarla, puedo decir que sí, los considera y los procesa como si estuviesen dentro del try mismo. Gracias a todos por sus esclarecedoras respuestas.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Base de datos NO valida | Choclito | Firebird e Interbase | 11 | 21-11-2011 00:18:35 |
Es posible trabajar con un fichero de estructura variable? | xaguilars | Varios | 10 | 31-07-2007 05:09:03 |
Mi criaturita es valida!!! | papulo | HTML, Javascript y otros | 6 | 05-04-2006 09:16:25 |
Es posible para solo la estructura de la base de datos de ib expert a Access | Nelly | Varios | 3 | 10-02-2006 08:37:59 |
duda clave primaria en Paradox | mak8888 | Tablas planas | 1 | 26-06-2005 21:48:57 |
|