Cita:
Empezado por Efren2006
Tengo un Proceso que debe Llamar muchos Registros de una Base de Datos Firebird y llenar una Tabla Temporal para que el usuario escoja los registro que desea procesar, como son muchos registros en la mayoría de las ocasiones la Ventana me dice (NO RESPONDE)...
|
Normalmente esto ocurre cuando durante un tiempo largo la aplicación entra en un proceso en que la UI no responde.
Si estás ejecutando una consulta que tarda mucho es normal que suceda. Si estás ejecutando muchas consultas (por ejemplo en un FOR/WHILE) deberías utilizar un
Application.ProcessMessages para dar tiempo a procesar otros mensajes.
Cita:
Empezado por Efren2006
Que estará mal Programado ?? o que debo hacer en los casos que deba leer MUCHOS registros de la BD ?
|
Hay varias soluciones dependiendo de exactamente cual sea el problema.
Si es una consula muy pesada, tienes la opción de ejecutarla a un thread diferente (cosa que no es fácil si no has trabajado con threads).
Otra opción podría ser intentar dividir la consulta para obtener los registros por bloques (si eso es posible segun la lógica del programa).