PDA

Ver la Versión Completa : Editar o eliminar ALTA, no commiteada.


pape19
19-06-2014, 03:19:36
Buenas noches gente.

Mi situación es la siguiente. Tengo dos tablas, maestro y detalle. Doy de alta un registro maestro, hago el commit, y luego ingreso los detalles, realizando un nuevo commit luego de la carga de los mismos. Hasta aquí todo correcto.

El problema viene cuando, doy de alta un detalle, pero antes de confirmar el mismo con un commit, el usuario se arrepiente o se equivocó en algún dato de este detalle, por eso mismo elige editar el mismo, o eliminarlo. Si luego de esto hago un commit, los datos que se me guardan son los del insert de este detalle.

Ustedes me dirán...haz un commit luego del insert, y cuando el usr se equivoca...editas este detalle commiteado. El problema de esto es que si el usuario carga por ejemplo unos 10 detalles, pero luego se arrepiente de esta carga y cancela el proceso, tengo que buscar y eliminar de la base de datos los 10 detalles, lo que me parece algo totalmente ineficiente.

Trabajo con Firebird 2.5, e IBTable's.

Como puedo proceder ante esta situacion? Como puedo editar, o eliminar, un detalle ingresado que no ha sido commiteado?

Saludos.

Casimiro Notevi
19-06-2014, 10:10:12
Para empezar, no uses ibtable, usa querys.
Para eliminar las líneas de detalles que el usuario ha cancelado:
delete from tabladetalles where idcabecera=?laquesea
Como ves, no tienes que buscar nada, ni es engorroso ni es eficiente.

pape19
19-06-2014, 19:57:36
Gracias Casimiro por la respuesta. Es cierto lo que dices, pero tomé esto algo avanzado, por lo que decidí no cambiar demasiado.

Para el que le ocurra, pude solucionarlo con un Table1.Refresh; luego de cada Post.

Saludos!