PDA

Ver la Versión Completa : llamando Procedimiento Almacenado desde Delphi


jjaen26
14-08-2007, 00:24:57
Actualmente tengo un procedimiento almacenado en la base de datos MySQL que tarda unos 4 minutos aproximadamente procesando información (o podría tardar mas), ya he logrado mandar llamar este procedimiento desde delphi.

La cosa es que cuando mando llamar mi procedimiento almacenado desde delphi mientras MySQL esta realizando el proceso delphi no responde hasta que MySQL termina de ejecutar el procedimiento.

lo que quiero hacer es una especie de splash window que muestre el avance del procesamiento con una barra de progreso.

Utilizo componentes Zeos

No se si fui suficientemente claro ó si necesitan información adicional, si es así pos medicen.

Saludos y Gracias

poliburro
14-08-2007, 15:19:11
Lamentablemente no es posible conocer el progreso de la ejecución del Sp, Lo que podrías hacer es dividir el Sp en Varios procesos digamos 4, luego vas mostrando el avance conforme vayan ejecutandose cada uno de los Sps.


Es una opinión personal pues

jjaen26
15-08-2007, 02:53:26
De antemano Gracias por contestar...

De hecho lo que hace mi Stored Procedure es recorrer una tabla utilizando un cursor... yo había pensado declarar una variable que me sirva como contador para que se valla incrementando de uno en uno cada vez que recorre registros.

Set @Contador = @Contador +1

Pensé que solo seria cuestión de hacer Querys desde delphi en un timer algo como lo que sigue

select @Contador

Esto es lo que tenia en mente y no se si funcione.. pero en fin creo que no me supe explicar bien, mi primer Problema es que mientras se esta ejecutando el Stored procedure delphi no responde, es decir no responde a ninguno de los eventos del ratón, del teclado, incluso al evento del timer, de hecho tampoco se repinta la forma (Pareciera como si hubiera ocurrido un error) todo esto se corrige hasta que termina el stored procedure

una vez corrigiendo esto buscaría la forma de desplegar el avance del stored procedure... pero eso ya seria lo segundo

He leido articulos donde pasa algo similar, donde delphi esta en espera a que termine algún otro programa en dichos articulos dicen que con application.ProcessMessages se corrige pero esto no sirve en mi caso

Si alguien me pudiera ayudar se los agradesco muchisimo


Saludos