La situación es la siguiente, tengo dos programas, uno oculto que trabaja como un servicio y que va haciendo cambios en la base de datos, y otro visible en el que el usuario revisa los datos y puede hacer modificaciones.
El problema surge cuando el usuario esta viendo un registro y decide cambiarlo, sin saber que el otro programa, el oculto, ha borrado ya ese registro. Entonces se produce el "famoso" error de deadlock. También se produce un error cuando en vez de modificar ese registro, se modifica otro que depende de el, se produce un error indicando que se ha incumplido una de los "constrains".
Se que este es un error muy común, por eso recurro a vuestra experiencia para preguntaros cual es la mejor forma de solucionar esto. A mi se me ocurren varias formas: un botón para refrescar los datos, cerrar y volver a abrir la transacción antes de hacer los cambios, etc ... puede que sean "ideas de bombero"

así que os pido vuestra opinión.
Mas datos:
- Delphi 7
- Firebird 2.0
- WindowsXP
- Utilizo los componentes de la paleta Interbase, Data Controls y Data Access
Ayudar a este
novato diciéndole como resolvéis vosotros este problema, antes de que se ponga a reinventar la rueda
Gracias