Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2014
Avatar de ramflores
ramflores ramflores is offline
Miembro
 
Registrado: may 2005
Ubicación: Monterrey, Mex.
Posts: 87
Poder: 19
ramflores Va por buen camino
Query segundo plano

hola Foro.

De que manera puedo realizar, un query con un time, por ejemplo:

Ejecutar un Query de ADO, y mientras tarda de cargar la informacion presentar en un status bar los segundos transcurrido

Ejemplo mensaje:

Espere un momento, cargando información ..... 00:00:01
Espere un momento, cargando información ..... 00:00:02
Espere un momento, cargando información ..... 00:00:03
Espere un momento, cargando información ..... 00:00:04

hasta que termine

Consulta realizada en ..... 00:00:07

Gracias de antemano
__________________
Gracias de antemano
Saludos ........
---------------------------------
Ramiro Flores
Responder Con Cita
  #2  
Antiguo 12-09-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes revisar la propiedad ExecuteOptions del TADOQuery, aunque a mi nunca me ha servido para lo que he necesitado.

La otra opción es utilizar Threads para ejecutar la consulta; de esa forma no bloqueas la aplicación y puedes ejecutar otras tareas mientras la consulta se ejecuta (entre ellas, la de mostrar un timer si es lo que necesitas).

El "problema" de esta última es que añades complicación a la programación, ya que debes crear un thread para la consulta y añadirle parámetros de conexión para utilizar una nueva (no puedes usar la de la aplicación).

En esta entrada de mi blog titulada "utilizar ADO con Threads" puedes leer sobre el proceso de creación, ver cómo se ejecuta y utilizar el código del thread que hay. Si bajas los ejemplos, podrás probar y revisar el código.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 12-09-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
El "problema" de esta última es que añades complicación a la programación, ya que debes crear un thread para la consulta y añadirle parámetros de conexión para utilizar una nueva (no puedes usar la de la aplicación).
¿Por qué no puede usarse la misma conexión?

// Saludos
Responder Con Cita
  #4  
Antiguo 12-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ramflores Ver Mensaje
Consulta realizada en ..... 00:00:07
Hola, no sé qué hace ese query, ni tengo más información que lo que has comentado, pero mi táctica sería distinta: ¡¡¡Hacer más rápido el query!!!

Verifica por qué es lento, intenta afinarlo hasta dejarlo que tarde como mucho... un segundo, por ejemplo.
Responder Con Cita
  #5  
Antiguo 13-09-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
¿Por qué no puede usarse la misma conexión?
Las librerías ADO no son "Thread-safe"; Están basados en tecnología COM.
Por esta razón se debe crear e inicializar la conexión dentro de cada thread, de otra forma no funcionará.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación en segundo plano Fossy Desarrollo en Delphi para Android 1 27-01-2014 03:27:52
aplicacion en segundo plano jocey Varios 5 20-06-2008 06:37:47
Correr en Segundo Plano jocey Varios 3 17-10-2007 17:32:13
Ping en segundo plano toorbye Internet 5 19-10-2006 14:52:32
Programar en segundo plano Isako API de Windows 3 02-03-2005 15:31:20


La franja horaria es GMT +2. Ahora son las 15:49:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi