Ver Mensaje Individual
  #1  
Antiguo 17-06-2008
hibero hibero is offline
Miembro
 
Registrado: nov 2003
Posts: 104
Reputación: 21
hibero Va por buen camino
FB+IBX+IBTransaction+ClientDataSet

Utilizo IBX+ClientDataSet para acceder a FB 2 .

Utilizo un componente IBDataBase un componente IBTransaction
y el esquema de conexion de a cada Tabla viene siendo el que sigue

IBQuery<---DataSetProvider<---ClientDataSet<---DataSource<---DBGrid

si hago un cambio en el DBGrid se dispara el evento AfterPost, AfterDelete en el cual hago un

ClienteDataSet.ApplyUpdates(-1);

Todo funciona perfecto. El problema es si abro el programa en otro ordenador accediendo de forma concurrente sobre la misma tabla y base de datos. El segundo Ordenador no se entera de los cambios que ha hecho el primero a no ser que haga un commit. Es decir

Si A los eventos AfterPost y afterDelete les pongo el codigo

ClientDataSet.ApplyUpdates(-1);
if IBQuery.Transaction.InTransaction then IBQuery.Transaction.commit;

Es esto normal. O estoy haciendo algo mal
Responder Con Cita