RE:System.Data.OleDb.OleDbException: Timeout expir
Hola
Te voy a explicar como se usa Top pero necesito saber algo mas sobre como tu recoges los datos y los pasas a tu datagrid, ya que si tu utilizas un SqlDataAdapter y un DataSet y le pones a tu datagrid que muestre los datos 50 por pagina, esto hace que cada vez que el usuario vaya a ver la pagina siguiente debes volver a llenar tu dataset con los 50 restantes sin que tu tengas que hacer nada para eso. Es decir cuando tu limitas tu datagrid a 50 por pagina y utlizas un Dataser y un adapter para Databind a tu control este mismo limita el comando select a 50 cada vez que se mueva el usuario por las pagina , solo tienes que agregar en el evento PageIndexChanged del datagrid un llamdo a el method que va a buscar los datos y antes pasarle a el datagrid el index de la pagina, te lo voy a explicar mejor.
Digamos que tienes un method llamado Recogerdatos(), este method selecciona todos los datos de la base de datos, emdiante un adapter los pasa a un dataset y de ahi le decimos a tu datagrid que el Datagrid. DataSource = objectoDataSet y hacemos el bind Datagrid.DataBind(). Despues en el evento PageIndexChanged del datagrid haces lo siguiente:
Private Sub Datagrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgEdit.PageIndexChanged
Datagrid1.CurrentPageIndex = e.NewPageIndex
'aqui llamamos de nuevo al method
Recogerdatos()
End Sub
Ahora dejame explicarte como agregas ( no creo que lo necesites pero no esta de mas saberlo) top a tu select
Select Top 50 ID, Nombre, Apellidos, Direccion From Nombre_Tabla
Saludos
Victor Collado