DatagridView y sqldatareader

24/01/2007 - 19:35 por aydai | Informe spam
Es posible asignar el resultado de un sqldatareader a un datagridview??

Preguntas similare

Leer las respuestas

#1 SoftJaén
25/01/2007 - 09:19 | Informe spam
"" preguntó:

Es posible asignar el resultado de un sqldatareader a un datagridview??



Hola:

Que yo sepa, no es posible, al menos de una forma directa.

Pienso que es mejor que al control DataGridView le asignes un objeto
DataTable:

Dim cnn As New SqlConnection( _
"Data Source=(local);Initial Catalog=Prueba;" & _
"Integrated Security=SSPI")

Try
Dim cmd As New SqlCommand("SELECT * FROM Clientes", cnn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet

da.Fill(ds, "Clientes")

With DataGridView1
.DataSource = ds
.DataMember = "Clientes"
End With

Catch ex As Exception
MessageBox.Show(ex.Message)

Finally
cnn.Close()
cnn = Nothing

End Try

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 aydai
25/01/2007 - 11:15 | Informe spam
Gracias por tu respuesta.

Veras tengo un pequeño problema, tengo una grid de busqueda, y al llenarla
con cerca de 10000 registros tarda una media de 15 segundos en llenarse ( un
tiempo que me parece excesivo), esta grid la lleno con un datatable de un
dataset.

Para intentar hacer mas rapido el tiempo de respuesta, habia pensado en
llenar el datagridview con un sqldatareader a ver si asi iba mas rapido.

Se te ocurre alguna solucion.

Muchisimas gracias.


"SoftJaén" escribió en el mensaje
news:
"" preguntó:

Es posible asignar el resultado de un sqldatareader a un datagridview??



Hola:

Que yo sepa, no es posible, al menos de una forma directa.

Pienso que es mejor que al control DataGridView le asignes un objeto
DataTable:

Dim cnn As New SqlConnection( _
"Data Source=(local);Initial Catalog=Prueba;" & _
"Integrated Security=SSPI")

Try
Dim cmd As New SqlCommand("SELECT * FROM Clientes", cnn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet

da.Fill(ds, "Clientes")

With DataGridView1
.DataSource = ds
.DataMember = "Clientes"
End With

Catch ex As Exception
MessageBox.Show(ex.Message)

Finally
cnn.Close()
cnn = Nothing

End Try

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o
sugerido en el presente mensaje.



Respuesta Responder a este mensaje
#3 SoftJaén
25/01/2007 - 11:34 | Informe spam
"" escribió:

Veras tengo un pequeño problema, tengo una grid de busqueda, y al llenarla
con cerca de 10000 registros tarda una media de 15 segundos en llenarse
( un tiempo que me parece excesivo), esta grid la lleno con un datatable
de un dataset.

Para intentar hacer mas rapido el tiempo de respuesta, habia pensado en
llenar el datagridview con un sqldatareader a ver si asi iba mas rapido.

Se te ocurre alguna solucion.



Tu pequeño problema es los 10.000 registros que deseas cargar, y será mucho
mayor el problema si intentas cargar un número mayor de registros. Como
siempre pregunto, ¿para qué "leches" quieres 10.000 registros en un control
tipo Grid? ¿Hay algún usuario capaz de manejar tal cantidad de registros?

Lo único que se me ocurre es que utilices una paginación de registros.
Consulta los siguientes enlaces:

Paginación Eficiente en SQL Server
http://www.elguille.info/colabora/N...Server.htm

Implementing Virtual Mode with Just-In-Time Data Loading in the Windows
Forms DataGridView Control
http://msdn2.microsoft.com/en-us/li...71624.aspx

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida