asociar un datareader a un datagrid

23/08/2004 - 17:07 por miguel | Informe spam
Hola deseo que el datasource de un datagrid en visual .net
sea un datareader ya que si es un dataset este tarda
varios segundos en cargarse.

El datagrid está en un formulario de visual basic .net (no
es ASP)
y me da un error indicandome que el datareader no es un
origen de datos iList o iListSource.

Si utilizo dataset no tengo problemas para utilizar
el datagrid , el datareader tambien me funciona
correctamente para interactuar con la base de datos
(select,insert,update,delete) pero no puedo asignarlo
a un datagrid.
 

Leer las respuestas

#1 Cesar Rivera
24/08/2004 - 01:35 | Informe spam
Saludos Miguel,

Si el dataset tarda varios segundos en tardarse es porque estás cargando un
número significativo de registros en memoria. Tu DataAdpater rellena primero
el DataSet obteniendo "todos" los registros de la tabla o tablas que
solicitastes, no es como el DataReader que sólo trae un registro y hasta que
no uses el método Read para traer el siguiente registro, sólo trabajarás con
el registro actual. Un DataReader en este caso no sería solución porque su
función principal es de un sólo recorrido y sin vuelta atrás. El datagrid
está diseñado para asociarse a un DataSet.

Aunque intentando llenar un dataset a través de un DataReader sería una
posible solución para luego asignarlo al datagrid, en realidad no lo es. El
método Fill del DataAdapter resulta más eficiente en este caso.

Me corrigen si estoy equivocado. :) Aqui estamos para aprender todos.


"miguel" wrote:

Hola deseo que el datasource de un datagrid en visual .net
sea un datareader ya que si es un dataset este tarda
varios segundos en cargarse.

El datagrid está en un formulario de visual basic .net (no
es ASP)
y me da un error indicandome que el datareader no es un
origen de datos iList o iListSource.

Si utilizo dataset no tengo problemas para utilizar
el datagrid , el datareader tambien me funciona
correctamente para interactuar con la base de datos
(select,insert,update,delete) pero no puedo asignarlo
a un datagrid.



Preguntas similares