Delphi - DB en delphi

 
Vista:

DB en delphi

Publicado por Eduardo (12 intervenciones) el 26/06/2009 18:27:25
Hola espero puedan ayudarme con el siguiente problema,
estoy haciendo una aplicación en la que el usuario llena un formulario, al presionar el boton de guardar, los datos introducidos deberian guardarse en dos tablas (unos datos en una y otros en otra), mi pregunta es: si se guarda la primera tabla y ocurre un error al querer guardar la segunda, ¿como deshago la modificación de la primera tabla?

Gracias de antemano
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DB en delphi

Publicado por Msp (8 intervenciones) el 26/06/2009 20:47:35
No me quedo muy claro si introduces datos sobre un registro nuevo o uno ya almacenado si es sobre uno nuevo utiliza Try:

Try
Table1.Insert;
//Valores
Table1.Post;
Finally
try
Table2.Insert;
//Valores
Table2.Post;
except
Table1.Delete;
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DB en delphi

Publicado por Eduardo (12 intervenciones) el 29/06/2009 15:54:40
jaja, es muy facil, gracias por la respuesta, de momento me sirve, pero me surge otra duda, al hacer table1.Delete ¿se borra el último registro insertado?, si la respuesta es sí, y la aplicacion es en red, podria borrarse el registro de otro usuario y no el mio, tratare de ejemplificar:
1.un sistema en linea de venta de boletos de autobus
2.cuenta con la tabla vendedores y la tabla asientos
3.el usuario a presiona guardar y un instante despues el usuario b en otra terminal presiona guardar
4.se crea un registro en la tabla vendedor para el usuario a
5.mientras se esta creando el registro en la tabla asientos para el usuario a, se crea otro registro en la tabla vendedor para el usuario b
6.la creación del registro para el usuario a en la tabla asiento falla, pero la creacion del registro en la tabla asiento para el usuario b terminara con exito

El fallo ocurrio para el usuario a, si en este punto hago delete para la tabla vendedor creo que se borrara el registro del usuario b ¿cierto?

espero haber sido clara, agradeceria de nuevo el favor de una respuesta
lei algo acerca de transacciones, no pude profundizar y no le entendi, tal vez si tu o alguien mas conoce el tema pueda ayudarme, uso delphi 2009 y la base de datos es SQL, utilizo los componentes mySQL accsess, si no conocen los componente no importa acepto una explicacion sobre otros componentes muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DB en delphi

Publicado por Msp (8 intervenciones) el 29/06/2009 16:55:20
Despues de insertar un registro y guardarlo automaticamente te poseciona sobre ese registro por lo cual al hacer Table1.delete sí se borra el ultimo registro insertado, en esa terminal. No importando cuantas terminales esten realizando esta operacion debido a que cada una de ellas realiza su propia consulta sobre la DB.

Si tienes mas dudas y te urgen te dejo mi correo [email protected] agregame y platicamos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar