Ver Mensaje Individual
  #10  
Antiguo 18-11-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Duilioisola te recomiendo que cambies las excepciones de captura de error por esta :

Código Delphi [-]
  except       
    on E: Exception do 
    begin
      Transaccion.Rollback;  // Primero cancelamos la transacción
      Application.MessageBox( PChar( E.Message ), 'Error de SQL', MB_ICONSTOP );
    end;
  end;

Puesto que estás dejando abierta la transacción (y los registros bloqueados) hasta que el usuario acepta el mensaje de error. Y no hay ninguna necesidad de ello (imagínate que el usuario mantiene el mensaje en pantalla, para poder llamar al servicio técnico. Igual te deja media hora con los registros bloqueados).

Siempre se debería evitar que las transacciones (especialmente las que ya han modificado algo) permanezcan abiertas a la espera de una acción del usuario.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 18-11-2010 a las 21:03:30.
Responder Con Cita