Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema en Bloqueo de Registro.... (https://www.clubdelphi.com/foros/showthread.php?t=25995)

AGAG4 10-10-2005 22:27:45

Problema en Bloqueo de Registro....
 
Uso Delphi 6 SP2, Firebird 1.52, IBX 6.08, Uso CachedUpdate en los IbDataset's

Tengo mi aplicaciónn usandose en 6 PC's, durante 1 mes aprox. y ahora me paso en 1 PC que se quedo bloqueada en el siguiente ciclo que pongo:
Código Delphi [-]
ShowProgressBar(1,1,100,'Espere!! Terminando Transacción ....');
while true do
  try
    if Detalle.UpdatesPending Then
      Detalle.ApplyUpdates;
    if Maestro.UpdatesPending Then
      Maestro.ApplyUpdates;
     break;
                except
                  on E:Exception do 
                   //Si Hay Bloqueo en Registro ReIntentar de Nuevo....
                  if UpperCase(copy(e.message,1,15))<>'DEADLOCK UPDATE' then begin
                      Maestro.CancelUpdates;
                      Maestro.Close;
                      Detalle.CancelUpdates;
                      Detalle.Close;
                      Transaccion.RollbackRetaining;
                      break;
                    end;
                end;
              //Aceptar Transacción
              Transaccion.CommitRetaining;
              LiberaProgressBar;

Este Ciclo lo uso cuando 2 ó más Pc's Intentan Grabar al mismo tiempo, todo funcionaba Muy bien hasta ahora que sucedio en 1 Pc que se quedo en el ciclo, revise las demás PC's y no había nadie que estuviese trabajando.

Sólo quisiera que me recomendarán y que me valorarán el ciclo que tengo cuando el registro esta en uso....

Agradezco cualquier sugerencia....


La franja horaria es GMT +2. Ahora son las 03:10:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi