![]() |
Actualizar las tablas solo cuando han cambiado
Estoy desarrollando en delphi 7 con Mysql y zeos tengo una aplicacion cliente servidor las tablas son creadas en el servidor pero los clientes las modifican quiero que cuando un cliente modifique la tabla el servidor actualice un dbgrid, en este momento lo que hago es realizar periodicamente un refresh pero tiene el inconveniente de que cuando lo hace pasa al primer registro y si se esta navegando por el dbgrid se hace molesto volver a posicionarse.
gracias por su ayuda de antemano julipo |
A mi me pasaba algo parecido en una aplicación TPV q desarrollé. La solución q implementé fue la sgte:
1. Antes de actualizar la query, guarda la clave del registro en el cual estás posicionado. 2. Actualiza la query. 3. Haz un locate de la clave y así conseguirás q te vuelva al punto en el q estaba el usuario. Un saludo y espero q te sirva de ayuda. |
No sé si esto sirve para MySQL, Al menos en Firebird si va.
Los Zeos creo que ya tienen el Event Alerter (CREATE EVENT "NuevoCliente"), simplemente en el servidor añade un trigger afterPost, que diga POST_EVENT "NuevoCliente" Ahora en cada ventana que quieres que se actualices, añades un Event Manager (creo que así se llama el componente), registras ese evento, y en el evento de ese componente, añades el código que te han comentado. Así solo refrescas los datos cuando es necesario. Saludos |
|
Hola
Las "bookmarks" no se llevan muy bien con la inserción y eliminación de registros. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 17:54:06. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi