PDA

Ver la Versión Completa : Problema con Formularios y SQL Server


villegasmajano
18-09-2006, 18:51:58
Amigos quisiera que me ayudaran, tengo un problema, cuando ejecuto un Stored Procedure desde Delphi 7.0 (ADO MS SQL Server 2000 sp4) el formulario desde donde lo llamo se pone en blanco y luego desaparece, pero el formulario principal siempre esta visible.

El stored procedure realiza algunos calculos y se tarda aproximadamente unos 28 segundos por la masa de datos que existe.


aqui esta el codigo donde invoco al stored procedure.

DMT.StProc_FactorVentaTienda.Close;
DMT.StProc_FactorVentaTienda.Prepared := True;
DMT.StProc_FactorVentaTienda.Parameters[1].Value :=DMT.QrySucursalesCodSucursal.Value;
DMT.StProc_FactorVentaTienda.Parameters[2].Value :=DTPIni.Date;
DMT.StProc_FactorVentaTienda.Parameters[3].Value :=DTPFin.Date;
DMT.StProc_FactorVentaTienda.Parameters[4].Value :=RGLeerFactores.ItemIndex;
DMT.StProc_FactorVentaTienda.ExecProc;
DMT.StProc_FactorVentaTienda.Open;
FrmAnalisis.Refresh;


el procedimiento se ejecuta satisfactoriamente, y me devuelve los datos, pero oculta el formulario desde el cual lo ejecuto...
que podra ser ayudenme porfavor.... el codigo esta dentro de un boton del formulario.

vtdeleon
18-09-2006, 19:27:46
Saludos

Antes qeu nada, decirte que todos los codigo que pongas en el foro debe llevar etiquetas (http://clubdelphi.com/foros/misc.php?do=bbcode) para su facil lectura y en este casi las etiquetas Delphi (http://www.clubdelphi.com/foros/showthread.php?p=42887#post42887)

Volviendo al tema, tu caso me indica que los controles que muestran informacion de la base de datos esperan por una respuesta pronta para mostrar los datos, y por eso es que aparenta estar inhibido o frizado. Una solucion para este caso podria ser, usar Hilo (thread) para que el codigo inicie en segundo plano.

Cheque estos enlaces sobre hilos (thread):
http://www.clubdelphi.com/foros/showthread.php?t=10725&highlight=thread+execute
http://www.clubdelphi.com/foros/showpost.php?p=127659&postcount=4

villegasmajano
19-09-2006, 19:46:52
Gracias por la respuesta amigos, probare la solucion de los Thread, la verdad pense que estaba haciendo algo mal en el codigo, pero creo que la consulta en el stored procedure es bastante voluminosa por eso se tarda....:D...
Tengo otra pregunta volviendo al tema de mi pregunta, ¿ Porque el formulario se oculta cuando el stored procedure termina ? y lo veo hasta que hago clic en la barra de tareas donde aparece mi aplicacion....

vtdeleon
19-09-2006, 19:51:38
Tengo otra pregunta volviendo al tema de mi pregunta, ¿ Porque el formulario se oculta cuando el stored procedure termina ? y lo veo hasta que hago clic en la barra de tareas donde aparece mi aplicacion....Hmm, Algo extra~o.

Solo pones en marcha el codigo de mas arriba? Si es asi, pues no se me ocurre nada para tal comportamiento:confused: