La Web del Programador: Comunidad de Programadores
 
    Pregunta:  27241 - CONSULTA DEMORADA
Autor:  Dante Salazar
Tengo una aplicación que hace una consulta ODBC a una base de datos externa, para luego utilizar estos datos internamente, pero dicha consulta demora bastante (hasta 7 minutos). Para evitar que la aplicación se quede congelada durante todo este tiempo, hemos separado esta consulta en un ejecutable aparte; pero aun asi, se ve muy mal que esta ventana se quede congelada durante todo este tiempo, por lo que deseo adicionarle un código que lo evite. Recuerdo haber visto en algún lado un código utilizando una instrucción While executing, pero no lo encuentro.

Me puede alguien ayudar con esto?. También podría ser utilizando un código multi thread, pero no tengo ningún ejemplo para adaptarlo.

Gracias

  Respuesta:  Ricardo Sierra
Puedes enviar la consulta Asincronicamente para que sea ejecutada en el servidor y no interfiera con tu aplicacion (si es que tu consulta se ejecuta en una sola linea)

Tambien puedes utilizar la sentencia DoEvents dentro del ciclo de tu consulta (si este fuera el caso). El DoEvents lo que permite es que libera tu aplicacion momentaneamente para que no se quede "colgada" o congelada y asi te permita hacer otras cosas.

Espero te sirva.