Desde hace algun tiempo tengo esta duda:
¿ Se requieren transacciones para las consultas con "Select" ?
Porque cuando trabajo, generalmente defino en el data module sólo 2 transacciones una Read Commited y otra Read_Write Table Stability, entonces asigno la "Read Commited" para todas las querys (MDOQuery) con select (sin usar StartTransacction ni commit) y la segunda para todas las actualizaciones (Insert, Update y Delete), iniciando la transacción justo antes del execSQL y ejecutando el commit inmediatamente despues.
Lo que sí hago es usar algo así (en los Select):
y en las actualizaciones:
Código Delphi
[-]
Try
Transaction.StartTransacction;
ExecSQL;
Transaction.Commit;
Except
on E: Exception do
Begin
Transaction.RollBack;
ModalResult := mrNone; StatusMsg('Error al guardar datos'); Raise Exception.Create('Error al guardar los datos'+#13+
'Mensaje del servidor: '+#13+e.Message);
End;
End;
¿ debo iniciar y finalizar transacciones para los accesos de sólo lectura ?
D7 + FB2 + MDO
Gracias