![]() |
porque el primer Fill tarda? yo tengo un combo y un grid en un Form donde coloco un código XX en dicho combo. El grid lo lleno dependiendo del codigo que coloque en el codigo. dsVta.Tables("Ppal").Clear() daPpal.SelectCommand.CommandText = "SELECT * FROM vePpal WHERE Cia ='" & combo.value & "'" daPpal.Fill(dsVenta, "vePpal") La primera vez que hago esto me tarda como 4 seg es Normal? despues si rapido... que me recomiendan...... Muchas Gracias...... P.D: Nose si estare haciendo algo mal hasta luegoo |
El grid lo lleno dependiendo del codigo que coloque en dicho Combo. |
Porque no usas un datareader en vez de un dataset para llenar tu grid.. ? :pensando: Saludos ;-) |
El DataReader no es recomendable por que abre la conexion, mejor trata con un DataTable, asi no te preocupas de estar abriendo ni cerrando el objeto conexion.... Si quieres te pongo codigo fuente... (Ya que llegue a mi casa..) Saludos... |
Efectivamente,el Datareader corresponde a un modelo de datos conectados,y gracias a ADO.NET podemos usar el modelo de datos desconectado con el Dataset que es altamente recomendable.Respecto al Datatable que ha mencionado Charmander sería de la siguiente manera: ------------------------------------------------- 1ºPor ejemplo tienes un Datagrid y un botón para llenar el datagrid 2ºAl hacer click en el boton: Dim otabla as Datatable otabla= odataset.Tables("NOMBRE_DE_LA_TABLA_CON_LA_QUE_VAY AS_A_LLENAR_EL_DATAGRID") Datagrid1.DataSource = otabla ------------------------------------------------- Asi se llenaría con un Datatable,sustituyendo datagrid1 por el nombre de tu datagrid y odataset por el nombre de tu Dataset :-D ^ Espero ke te haya sido de ayuda,un saludo! :adios: |
lo que pasa es que yo lleno el grid dependiendo del codigo que eliga en el Combo osea que cada vez que yo cambie el valor dentro del Combo yo hago lo siguiente: ds1.Tables("Ppal").Clear() daPpal.SelectCommand.CommandText = "SELECT * FROM Ppal WHERE Cia ='" & _ combo.value & "'" daPpal.Fill(ds1, "Ppal") otra cosa en el FormLoad configuro el grid osea configuro las columnas, colores, mascaras de columnas, le asigno al grid el DataSource para tenerlo siempre conectado a la tabla "Ppal" ***********Form Load************** grDet.DataSource = ds1.Tables("Ppal") grDet.RetrieveStructure() Ahora el problema me viene cuando cambio por primera vez el valor en el combo que me tarda como 4 segundos en llenarme el grid, la segunda vez si lo hace violentamente..... Me recomendaron un data reader pero es de solo lectura..., ahora con el data dable como haria para cambiar el grid cada vez que cambie el valor del combo. Será mas Rápido? Gracias Uso VBForms |
Hola Yo creo que el dataset debes llenarlo una unica vez con "SELECT * FROM Ppal" y crear dataviews filtrados en funcion de lo que se se seleccione en el combo, y que sean estos los que se enlacen con el grid en lugar de estar trayendo continuamente informacion de la base de datos. Otra cosa: Cita:
Salu2 |
Cita:
Primero hay que analizar bien lo que uno pretende mostrar o hacer, antes de usar para cualquier cosa un dataset. |
Cita:
totalmente de acuerdo con RootK, para obtener datos un DataReader es exelente, pero si tu sistema depende mucho de los datareaders puedes hacer que tu programa truene por cuestiones de la conexion abierta... al menos ami ya me toco toparme con problemas con los datareader...(motor de access JET)... me imagino que tronaba por el engine del access... sepa dios... de hecho no es bronca del datareader sino de la conexion... tal ves sea un bug... y... esto es un poco dificil de explicar... mmm... Ahunque a eso de estar abriendo la conexion para usar un command y el datareader prefiero usar un Datatable... Otra cosa Muy interesante... la primera ves que accessar a los datos si se tarda un poco en eso, en esa caso mando un una forma que diga: "Conectandose...." ò "Cargando datos".. esta es una muy buena forma de "distraer al usuario final" para que no se desespere en la carga de datos... volviendo al punto de la carga de datos, se tarda un poco... (estraño) pero despues no.. que te lleva a pensar eso? pues lo unico que se me ocurre es que se carga la primera ves el engine o motor de base de datos y despues queda en memoria... Tambien si tu aplicacion tiene muchos controles la primera ves que cargas tal forma se tarda un poco y a eso agregale lo de la carga de datos... al final si es bantantito tiempo... Alguien opina mas? |
Cita:
Venga un saludo a todos :adios: |
Respuesta: porque el primer Fill tarda? Cita:
cargar el fill ya que en todos mis formularios ocupo diferentes fill dependiendo del table adapater que este utilizando y siempre pasa que al visualisar primero cuaquiera de mis formularios tarda en cargar y ya despues trabaja bien, me gustaria aplicar la idea que tu comentas solamente que no se como implementarlo, me podrias poner algun ejemplo de como hacerlo ? gracias |
Respuesta: porque el primer Fill tarda? hola y bienvenido dario_m, te recomiendo que verifiques la fecha en que se realizan los post para no revivir mensajes ya de mucho tiempo (Antiguo 10-mar-2004, 01:46) Si quieres abre un nuevo tema para poderte ayudar de una mejor manera Saludos |
| La zona horaria es GMT -6. Ahora son las 08:22. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.