Ver Mensaje Individual
  #1  
Antiguo 26-09-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Dos aplicaciones modificando el mismo registro ...

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:
  1. Delphi 7
  2. Firebird 2.0
  3. WindowsXP
  4. 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
Responder Con Cita