ASP.NET - System.Data.OleDb.OleDbException: Timeout expired

 
Vista:

System.Data.OleDb.OleDbException: Timeout expired

Publicado por Palacios (5 intervenciones) el 27/07/2005 21:00:28
Hola,

Ejecuto una consulta la cual devuelve una cantidad considerable de datos alrededor de miles los cuales los pongo en un Datagrid, cuando el resultado e

System.Data.OleDb.OleDbException: Timeout expired
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

RE:System.Data.OleDb.OleDbException: Timeout expir

Publicado por Victor Collado (219 intervenciones) el 27/07/2005 21:22:11
Hola

Tanto la conection como el datagrid tiene un limite determinado el primero en tiempo y el segundo en datos, ademas el commando tambien tiene un tiempo de expiracion, mi consejo carga los datos agregando un top 50 a tu select statement o a el datagrid dale un maximo por pagina de lo mismo 50 cuando el usuario se mueva a la segunda pagina solo se iran a buscar 50 mas recordset.

Victor Collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:System.Data.OleDb.OleDbException: Timeout expir

Publicado por palacios (5 intervenciones) el 27/07/2005 22:13:48
Hola ya el data grid tiene 50 por pagina, y con esos 50 tiene el error, pero como puedo poner en el select un limite de 50?

Ademas de esto si el ususario quiere ver 50 mas que tendria que hacer con la consulta para que seleccione los proximos 50?.

Gracias por su ayuda (Me podrian aclarar esto, ustedes con mas experiencia en esto, porque yo soy nuevo)

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:System.Data.OleDb.OleDbException: Timeout expir

Publicado por Victor Collado (219 intervenciones) el 28/07/2005 17:43:08
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:System.Data.OleDb.OleDbException: Timeout expir

Publicado por Palacios (5 intervenciones) el 28/07/2005 19:15:35
Hola Victor, gracias por to amplia explicacion en realidad no te imaginas la gran ayuda que me has brindado, voy a analizar todo lo que me has dicho y me gustaria comentarte lo que hago en mi caso.
Para mi es vital resolver esto pues estoy en medio de un proyecto que esta estancado por esto.

Te contacto despues que analize lo que me has dicho
Mill Gracias
Palacios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar