Foros del Web » Programación para mayores de 30 ;) » .NET »

BackgroundWorker Consulta SQL

Estas en el tema de BackgroundWorker Consulta SQL en el foro de .NET en Foros del Web. Hola, he leido todo lo que he encontrado pero no he encontrado algo similar que eche luz a este tema. Mi idea es ver si ...
  #1 (permalink)  
Antiguo 26/11/2008, 03:00
 
Fecha de Ingreso: octubre-2008
Mensajes: 19
Antigüedad: 15 años, 6 meses
Puntos: 0
BackgroundWorker Consulta SQL

Hola, he leido todo lo que he encontrado pero no he encontrado algo similar que eche luz a este tema. Mi idea es ver si se puede mostrar el progreso de carga de una consulta SQL con un progress bar.

La duda radica en que no quiero avanzar el progress bar a con un timer sin tener relacion real con el progreso de carga de la consulta. Ej. si se que la consulta tarda 3 seg, no quiero llenar al 100% el progress bar en 3 seg, quiero una relacion real con la consulta.

Y la duda surge, de como obtener este porcentage desde SQL SERVER o desde ADO o si se puede obtener. He pensado algo como, hacer una consulta rapida que obtenga el nº de registros totales y luego mostrar el progreso dependiendo el nº de registros que se han cargado, pero deberia saber este ultimo dato de alguna manera.

Bueno un saludo y a ver si esto es posible.
  #2 (permalink)  
Antiguo 26/11/2008, 05:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: BackgroundWorker Consulta SQL

No existe forma, al menos que yo conozca, porque el funcionamiento del motor de una base de datos es un objeto totalmente independiente de cualquier aplicación y no devuelve estados parciales de proceso.
En los hechos es un servicio que corre como "daemon", y que responde a las consultas ingresadas en una conexión, pero no te permite controlar sus eventos internos (ninguno te lo permitirá por cuestiones de seguridad).
Lo único que un servicio de una instancia de una base de datos te permite hacer es consultarle y lo único que te devuelve son resultados terminados o mensajes. Del resto, nada.
Lo único que puedes contar es la cantidad de inserciones/actualizaciones/borrados que le envíes como sentencias secuenciales para un bloque de datos procesado (es lo que hago a veces), pero no el tiempo que tarda una de ellas, porque eso es variable de acuerdo a un inmenso conjunto de condiciones que hay que analizar, desde el tiempo de espera de la conexión y la topología de la red, hasta la actualización de índices (que aumenta conforme crecen las tablas con índices).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/11/2008, 02:17
 
Fecha de Ingreso: octubre-2008
Mensajes: 19
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: BackgroundWorker Consulta SQL

He encontrado algo que se puede rellenar un datagrid a medida que lleguen los datos con una consulta asincrona, cambiando el connectionstring, no se si por ahi iran los tiros.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:28.