Visual Basic.NET - AYUDA Procedimientos almacenados y datagridview

   
Vista:

AYUDA Procedimientos almacenados y datagridview

Publicado por Juan Pablo (17 intervenciones) el 10/07/2008 18:12:25
Hola: Tengo un procedimiento almacenado en SQL7.0 y lo uso para llenar un datagridview. No entiendo por que lo realizo la primera vez y lo lleva bien y rápido. a medida que vuelvo a apretar el boton de busqueda, tarda mas y mas. No es una demora importante, es cosa de 1 o 2 segundos pero no entiendo porque esa demora que en la primera ejecucion no pasa.
Me ayudaría muchisimo si me pueden pegar un codigo de ejemplo de llenado de un datagridview con un procedimiento almacenado.
Tambien probe con los dispose en el adaptador, la conexion pero sigue pasando lo mismo. sospecho que el problema lo hace el fill, que es donde veo que tarda la consulta y puede ser porque el fill debe verificar los datos del datagridview para actualizar la Base de Datos, cosa que no me importa porque no quiero que se modifiquen los datos solo quiero mostrar datos.
Desde ya muchas gracias y espero que me ayuden
codigo:

Private Sub vertodos()
Try
Dim conexion As New SqlClient.SqlConnection
conexion.ConnectionString = "integrated security=SSPI;initial catalog=todomed;persist security info=false"
Dim adaptador As New SqlDataAdapter("PROVVERTODOS", conexion)
Dim datos As New DataSet
adaptador.SelectCommand.CommandType = CommandType.StoredProcedure
adaptador.Fill(datos, "Proveedores")
Me.dtgproveedores.DataSource = datos
Me.dtgproveedores.DataMember = "Proveedores"
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub

despues probe con un datatable en lugar de un dataset

Private Sub vertodos()
Try
datos.Clear()
Dim conexion As New SqlClient.SqlConnection
conexion.ConnectionString = "integrated security=SSPI;initial catalog=todomed;persist security info=false"
Dim adaptador As New SqlDataAdapter("CLIENTEVERTODOS", conexion)
Dim datos As New DataTable
adaptador.SelectCommand.CommandType = CommandType.StoredProcedure
adaptador.Fill(datos)
Me.dtgclientes.DataSource = datos
datos.Dispose()
adaptador.Dispose()
datos.Dispose()
datos.Clear()
conexion.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
End Try
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder