 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Javi Invitado
|
Publicado: Mie 30 Oct, 2002 1:27 pm Asunto: Consulta a Base de datos en Background |
|
|
Hola!
Situación:
-Tengo una base de datos
-Hay una tabla que indica unos estados que cambian frecuentemente
-Una ventana de mi aplicación monitoriza esa tabla y se refresca cada 15 segundos para ver si ha cambiado algo en la tabla.
-He creado un hilo de ejecución diferente al principal en el que tengo un objeto TTable que es el que se refresca periódicamente.
Hasta ahí todo bien, pero lo que yo quería evitar con eso era, simplemente, que el puntero del ratón cambiase al relojito de SQL en cada refresco de la tabla, y no lo he conseguido con el hilo.
Y lo que quiero es que ese refresco periódico moleste lo menos posible a la ejecución del hilo principal de mi aplicación.
¿Voy bien así?
¿Qué me falta por hacer?
A ver si alguien me puede ayudar.
Gracias.
Javi. |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Jue 31 Oct, 2002 6:13 pm Asunto: |
|
|
HOLA:
Depende de lo que utilices, Ejemplo en interbase se pueden utilizar los ibevents, que recogen un evento de la base de datos, normalemente se utilizan con algun trigger.
Before insert posEvent ("mi_evento").
En mi programa recojo el evento gracias a un gestor de evento, y si es necesario actualizo, asi me evito de tener que actulizar cada 15 segundo.
Se a ciencia cierta que oracle tiene algo igual.
Si no puedes trabajar con evento, entonces te aconsejo que trabajes con semaforos, es una tabla con un solo registro que se actuliza cuando se produce algun cambio (siempre con tigers) y lees solo esa tabla (cada 15 segundos), si necesitas actualizar la tabla grandes pues la actualizas.
Si sabes que tu tabla grande esta constantemente cambiando, por lo que necesitas actulizar constantemente vas bien asi.
By. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|