FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Ayuda con una consulta continua
Que tal buenas noches, necesito ayuda por favor, mi problema es que hice una agenda como parte de un sistema, en la cual escribi una parte donde introducia una fecha y una hora cualquiera en una base de datos (mysql) por medio de la aplicación, y en un timer la consulta sql que comparaba segundo a segundo si la hora del sistema (en la aplicación la puse en un label conectado a un timer), correspondia a la hora y fecha guardada en la tabla. Al hacer esto me garantizaba una consulta continua asi al llegar la hora señalada me arrojaba un mensaje, avisandome de la tarea pendiente.
Sin embargo segundo a segundo mi cursor cambia por un cursor con simbolo de Sql con el reloj de arena, esto cada segundo que se realiza la consulta SQL y esto pone lento mi aplicación ademas de que se ve anti-estetico, pues en una consulta normal pasa rapido y se ve de vez en cuando, pero asi de esta forma se ve cada segundo. ¿Como podria mejorar esta situación?, les agradecere su respuesta. |
#2
|
||||
|
||||
¿Qué componentes estás usando? En dbExpress, la componente SQLConnection tiene la propiedad booleana SQLHourGlass para controlar eso. Eso sí, no me parece lógico que eso sólo sea lo que esté alentando la aplicación.
// Saludos |
#3
|
||||
|
||||
Cita:
Imaginate que este programa lo tiene 100 usuarios en una empresa mediana, habría 100 consultas de ese programa que está en marcha todo el tiempo sobre el servidor, además de las que se estén haciendo por otro proceso. Vale que el servidor puede estar preparado y no debería haber problemas, y me estoy yendo por los cerros de úbeda. Lo que yo quiero decir, es que para un tema como el de avisos, tipo alarma o agenda, no me parace, a mi, la mejor opción la de estar chequeando cada segundo en la base de datos si hay avisos pendiente. Yo apostaría por tener esa lista en memoria, o en su defecto en un fichero temporal. Por ejemplo, al arrancar la aplicación, que cargue de la base de datos en un fichero, los avisos pendientes para hoy, si se genera algún aviso para hoy, se cargará en el fichero. Luego que el programa chequee, cada minuto, como minimo, ese fichero y chequee los avisos y los trate según convega. No sé alomejor tengo una concepción mala, pero para este tipo de avisos (información breve y puntual) prefiero tenerla en memoria o en un fichero de fácil acceso. No sé, ¿qué opinan ustedes? Saludos |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
||||
|
||||
Sorry lo entendí mal.
Y estoy contigo, no debería ser motivo para el relentizado de la aplicación. Saludos |
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
No sé yo que tan malo sea estar consultando al servidor. Verás, yo tengo un sistemita, claro que con pocos usuarios, no más de diez simultáneos, en donde cada cliente debe "avisar" al servidor cada tanto que aún sigue vivo. Esto lo hago cada 30 segundos y no he tenido ningún problema en tres años que ha corrido.
Es que un segundo es un exceso pero normalmente, si una tarea tiene un retraso de 30 segundos nadie se va a morir. Así que podrías también intentar esa opción. Ya si no mejora pruebas otra cosa. // Saludos |
#8
|
||||
|
||||
Me gustaria realizar esta consulta cada 5 minutos por lo menos, pero no se como, si alguien pudiera por favor, poner aqui un codigo delphi, donde cada 5 minutos me mande un mensaje, ya yo sustituiria ese mensaje por mi codigo de consulta. Por favor lo agradeceria mucho.
P.D. Utilizo Delphi7 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Lectura continua de Archivo | friendspark | API de Windows | 2 | 02-02-2006 16:27:52 |
Mendocino: continúa la dupla SAP-Microsoft | marcoszorrilla | Noticias | 0 | 28-04-2005 22:18:05 |
Reproduccion continua de un video avi | alexmucho | C++ Builder | 1 | 09-09-2004 11:58:21 |
Impresion continua de los campos de una tabla? | tayra | Impresión | 11 | 03-06-2004 21:15:41 |
el problema continua! | merlin | Impresión | 1 | 15-01-2004 15:01:18 |
|