Ver Mensaje Individual
  #4  
Antiguo 29-01-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Vale,
Postea el código de AbrirTablas.

Si la inserción y el selct están en dos transacciones diferentes, nunca se verán.

Código:
{Abro transacciones}
  T1.StartTransaction
  T2.StartTransaction

{Hago una cosa en cada una}
  T2.Insertarcampos
  T1.Select  <------ Topdavía no se ha enterado de lo de T2

{Refresco la transaccion}
  T1.Commit
  T1.StartTransaction <------ Ahora sabe lo de T2

{Ahora ya veo lo que haya hecho T2}
  T1.Select

{Cierro transacciones}
  T1.Commit
  T2.Commit
Normalmente, cuando hago un procedimiento para abrir tablas, la filosofía es "Reabrir" tablas.
Si trabajas con mas de una transacción también deberás refrescarla.

Código Delphi [-]
  Tabla.Close;
  if (Tabla.Transaction.InTransaction) then
     Tabla.Transaction.Commit;
  Tabla.Transaction.StartTransaction;
  Tabla.Open;

Última edición por duilioisola fecha: 29-01-2008 a las 15:11:04.
Responder Con Cita