![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Refrescamiento de tablas dentro de una BD
Hola a todos en este gran Foro. Quisiera abrir un tema, el cual se ha tratado bastante pero para mi existen algunas dudas todavía y es como lo indica el nombre de este hilo el refrescamiento de las tablas en una aplicación que se usa en entornos multiusuarios en una red. en particular uso la representacion de mis tablas o consultas en grillas (cxGrid) de las Devexpress 5, pero la representación con uno u otro componente creo que no viene al caso.
el problema es refrescar las tablas cuando se hacen updates en las mismas, ya sea por inserción, edición o eliminación de artículos (registros) para poder reflejar estos cambios en las grillas o secciones de la aplicación que estén abiertas por otros usuarios. En particular uso para una aplicación específica una BD MySQL, entonces a las tablas o consultas le indico la propiedad:
pero esto trae consigo que cada cierto intervalo de tiempo que se da como parámetro la tabla como que se cierra y se abre perdiendo el scroll en la grilla (xcGrid). para contrarestar esto coloco este código en el evento BeforeRefresh de la tabla o consulta:
y en el evento AfterRefreh escribo lo siguiente:
todo esto funciona bien y hace que el scroll en la grilla no se pierda. las preguntas son las siguientes: 1- Existiría un componente DataSet o algo por el estilo donde no sea necesario aplicar esta forma y que los datos se refresquen automaticamente ? 2- en mi caso tengp una duda con las devexpress (cxGrid) y es que cuando tengo varios sublevels ( osea una grilla master y una subgrilla details), cuando se produce el refrescamiento y tenia los detalles expandidos (subgrilla details) estos vuelven a contraerse. Gracias por sun grandes antenciones |
#2
|
||||
|
||||
Otra opción es no refrescar las tablas, sino hacer una pequeña consulta a un campo (mucho más rápida que refrescar TODA la tabla) que te diga cuando ha sido la última actualización; De esta forma sabes si debes hacerla o no.
También puedes utilizar Bookmarks para marcar la posición actual.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Gracias Neftalí por responder, pero podrias ampliarme mas sobre como consultar los campos ?
|
#4
|
||||
|
||||
La idea es mantener una tabla que permita saber si debes refrescar o no. Por ejemplo en esa tabla puedes guardar (a través de un trigger o de forma manual) la hora de la ultima modificación sobre cada tabla. Basta con que tenga dos campos, una para el nombre de la tabla y uno para la última modificación.
(1) Cada vez que actualices la tabla, actualizas el campo (trigger) (2) Cada X tiempo consulta desde donde necesites este campo y compruebas si ha cambiado desde la ultimas vez. Si ha cambiado actualizas toda la tabla; Siempre será más eficiente esta pequeña consulta, que actualizar TODOS los registros.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Gracias por la explicación lo pondré a pruebas
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Buscar por dentro de un XML | r_e_g_2007 | OOP | 1 | 17-11-2011 12:51:24 |
sumatoria entre dos tablas y distinto registro dentro de ellas | douglas | MySQL | 2 | 12-01-2010 21:26:24 |
Subconsulta dentro de un QuickReport.. Utilizo tablas Paradox..Ayudaaaa Please... | dinover7 | Tablas planas | 2 | 21-11-2008 21:45:51 |
Frecuencias de refrescamiento del display soportadas | Leyan | API de Windows | 2 | 29-09-2008 14:29:30 |
tablas en sql server demasiadas tablas | yeison Cristman | SQL | 8 | 10-08-2006 16:26:36 |
![]() |
|