Refrescar tablas en red

Estoy sustituyendo los TTable por TQuery en un programa que funciona en red con dos ordenadores, pero cuando modifico algo en unordenador no consigo que las tablas se refresquen en el segundo de ninguna manera, pero con los TTable lo hace correctamente.

1 respuesta

Respuesta
1
Supongo que en tu TQuery tienes conectado un componente llamado UpdateSQL, el cual te permite insertar, modificar, borrar y por ende grabar en la base de datos, ademas de tener al applyupdate como te lo mencione, ¿dime si tienes esto?
Hola. Aplico todas las instrucciones que me comentas lo que me ocurre es que cuando haga cambios sólo en un sentido(de ordenador1 a ordenador2 o al revés) sí se me actualizan los datos, pero cuando quiero alternar se me quedan los datos inalterables, ni activando y desactivando los TQuery, y tengo que cerrar la aplicación para poder ver los cambios o sea cuando se cierra el TDatabase.
Gracias por la rapidez. Un saludo
Eso esta un poco raro.
Pero debería refrescarse con apagar y activar de nuevo el query.
Ahora si esto no funciona, es probable que los cambios que haces en un ordenador no se reflejen de inmediato en la base de datos, por lo tanto el otro ordenador nunca vera esos cambios.
Así que es probable que te este faltando esta linea:
Query1.ApplyUpdates;
Esta linea la deberás poner en el evento AfterPost y afterDelete de tu query. En un TTable no es necesario ya que va directo a la base de datos, pero al usar querys si se debe hacer un applyUpdates el cual graba a la base de datos.
Ok, parce que todo esta bien,
Ahora que recuerdo el TQuery tiene una propiedad llamada CachedUpdate, esta deberá estar en true, checale en el inspector de objectos y prueba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas