• Lunes 18 de Noviembre de 2024, 02:41

Autor Tema:  Cancelar Búsqueda Sql  (Leído 1669 veces)

Jeremy

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Cancelar Búsqueda Sql
« en: Domingo 9 de Enero de 2005, 22:26 »
0
Hola a tod@s, tengo un problemilla el cual espero puedan ayudarme a resolver. Desde mi programa hago una consulta SQL para que realice una búsqueda en una tabla, los resultados de esa búsqueda los voy volcando a un ListView, hay momentos en los que este proceso tarda demasiado, no es que sea un problema es debido a la cantidad de registros con la que debe trabajar. Quiero añadir un botón con el texto Cancelar, que lo que hace es parar esa búsqueda. Alguien podría decirme cómo hacerlo?. Trabajo con una BBDD ACCESS y con Microsoft ADO 2.5

Gracias por vuestra ayuda.

Un saludo, :hola:
"Cuando quieres algo, todo el Universo conspira para que realices tu deseo..."

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Cancelar Búsqueda Sql
« Respuesta #1 en: Lunes 10 de Enero de 2005, 16:10 »
0
Hola Jeremy!.. :hola: ..mmmm..no se si nos podrías poner un poco de tu code en la parte de la busqueda.... :) ...pero puedes crear un flag (variable bandera) en el botón de cancelar que pongas ...que se active cuando lo presiones... y validar dicha variable dentro del while que usas para barrer tu tabla...(o nose..lo que tengas en tu code..)...

Nos avisas cualquier cosita.. ;)  ...Espero haberte guiado un poquito..... :suerte:
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[

desarrollo

  • Miembro activo
  • **
  • Mensajes: 74
    • Ver Perfil
Re: Cancelar Búsqueda Sql
« Respuesta #2 en: Lunes 10 de Enero de 2005, 20:37 »
0
:hola:  hola eliza_marti  :hola: eres nueva por aki no te habia visto antes.... :P

a mi tambien me interesa como detener una busqueda con solo resionar un boton (en este caso puede ser ESC) podrias decirno de que manera declarar o en todo caso crear esa variable que dices (flag - bandera) <_<  

te lo agardesco mucho de antemano....

desarrollo   :comp:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Cancelar Búsqueda Sql
« Respuesta #3 en: Martes 11 de Enero de 2005, 15:40 »
0
Hola.

Eliza da en el clavo.

Declara una variable booleana y listo.

Al pulsar el botón la pones = TRUE.

Antes de iniciar el bucle para rellenar el grid la pones = FALSE.
En el medio del bucle pregunta por el valor de la variable, si es TRUE, sal del bucle. Eso sí: para que esto funcione es indispensable que en algun lugar del bucle coloques una instrucción DoEvents que permita que se procesen los eventos en cola (de otra forma tu aplicación no se enteraría de la pulsación del botón hasta que salieras del bucle).

Esquemáticamente:

Código: Text
  1.  
  2. Private bCancel As Boolean
  3.  
  4. Private Sub Command1_Click()
  5.    bCancel = True
  6. End Sub
  7.  
  8. Private Sub Metodo()
  9.    
  10.    bCancel = False
  11.  
  12.    Do While condicion
  13.     .
  14.     .
  15.     .
  16.     DoEvents
  17.     If bCancel Then Exit Do
  18.     .
  19.     .
  20.     .
  21.    loop
  22.  
  23. End Sub
  24.  
  25.  

Debéis de tener en cuenta que introducir en el bucle la instrucción Doevents + una comparación implica penalizar el rendimiento, por lo que puede ser buena idea introducir un contador para realizar la comprobación cada X iteraciones del bucle.

Chao.