Ver Mensaje Individual
  #3  
Antiguo 11-04-2006
mpedra mpedra is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires (Arg)
Posts: 19
Reputación: 0
mpedra Va por buen camino
Cita:
Empezado por alapaco
En que instrucción te da error ?
Hola,

En la base tengo:
LOCK_TIMEOT =3000

Las aplicaciones bloquean registros mediante un stored procedure.

Supongamos dos instancias de la aplicacion.
La primera bloquea el registro y comienza a editarlo.

Cuando la 2da intenta bloquear el mismo reg que en la 1ra instancia se produce una excepción. Teoricamente el código NativeError es 1222.

Mi problema es que al capturar la excepción la transacción todavia sigue activa, pero al salir del try except ya no.

==> Aqui esta el procedimiento en donde se captura la excepción:

procedure TForm1.btnEditarClick(Sender: TObject);
begin
//Llama a editar un registro
with qryModif do
begin
close;
ParamByName('pID').Value:=catCalif.fieldByName('ID').value;
ParamByName('pActualiza').Value:=1;
try
open;
except on E:EDatabaseError do
begin
ManejarErrorBloqueo(qryModif,E);
MessageDlg('El registro que desea editar, está siendo util'+
'izado por otro usuario. '+#13+#10+'Por favor i'+
'ntente la operación nuevamente mas tarde.',
mtError, [mbOK], 0);
end;
end;
end;
end;

La transacción fue iniciada antes, y lo que necesito es que apesar del error de bloqueo ésta continue viva.
__________________
Marcos
Responder Con Cita