Foros del Web » Programando para Internet » ASPX (.net) »

Restringir busqueda a 20 registros con SqlDataReader

Estas en el tema de Restringir busqueda a 20 registros con SqlDataReader en el foro de ASPX (.net) en Foros del Web. Hola, primero quiero agradecer por las respuestas enviadas a mis peticiones. Ahora mi duda es como puedo hacer para que cuando se hace una consulta ...
  #1 (permalink)  
Antiguo 05/03/2008, 16:25
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 0
Restringir busqueda a 20 registros con SqlDataReader

Hola, primero quiero agradecer por las respuestas enviadas a mis peticiones.

Ahora mi duda es como puedo hacer para que cuando se hace una consulta a una BD el GridView solo me muestre de a 20 registros y luego muestre otros 20 y asi sucesivamente como el buscador de Google. Utilizando ASP.NET con VB.NET Framework 2.0
  #2 (permalink)  
Antiguo 05/03/2008, 16:39
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Restringir busqueda a 20 registros con SqlDataReader

En las Propiedades de Tu GridView existe una categoria sobre PAGINACION, ahi busca AllowPaging y cámbiala a TRUE, y más abajo viene la longitud de elementos q te mostrará cada página PageSize ahi le cambias a 20 y automáticamente te mostrará 20 rows el Grid aparte del paginador.
  #3 (permalink)  
Antiguo 05/03/2008, 17:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Restringir busqueda a 20 registros con SqlDataReader

Gracias por tu respuesta jlbautista. Pero que crees me manda el siguiente error:


El origen de datos no admite la paginación de datos del servidor.

Este es mi codigo con el que realizo una consulta y mando los resultados al GridView.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim conexion1 As String
conexion1 = "Asynchronous Processing=true; Data Source = 192.168.110.10; Initial Catalog = alumnos; User Id = 2008; Password = fgdfh"
Dim conecta As New SqlConnection(conexion1)

Dim consulta1 As String
consulta1 = "Select * From DTINFRACCIONES Where (Folio like '%%" & Request.Form("t1") & "%%') and (Carrera Like '%%" & Request.Form("t2") & "%%')"
Dim comando1 As New SqlCommand(consulta1, conecta)
comando1.CommandTimeout = 50


conecta.Open()

Dim reader As SqlDataReader
reader = comando1.ExecuteReader()

g1.DataSource = reader
g1.DataBind()
reader.Close()
conecta.Close()



End Sub

Espero puedan ayudarme. ya que estoy iniciando en ASp.NET
  #4 (permalink)  
Antiguo 05/03/2008, 17:44
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Restringir busqueda a 20 registros con SqlDataReader

El objeto SqlDataReader no permite esta operacio... tenes que utilizar DataTables con la propiedad Fill de un DataAdapter.
Te dejo un ejemplo simple ok.

Dim cmd As New SqlCommand
cmd.Connection = ConnGallitoAux
Dim ds As New DataTable
Dim da As New SqlDataAdapter

ConnGallitoAux.Open()
da.SelectCommand = New SqlCommand("select * from TuTabla", TuConexion)


da.Fill(ds)

GridView1.DataSource = ds
GridView1.DataBind()


ConnGallitoAux.Close()

Saludos.
  #5 (permalink)  
Antiguo 05/03/2008, 17:56
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Restringir busqueda a 20 registros con SqlDataReader

para poder dar paginacion tendria q ser un dataset en vez de un datareader

saludos
peter
  #6 (permalink)  
Antiguo 05/03/2008, 18:22
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Restringir busqueda a 20 registros con SqlDataReader

No se si estas con 2003 o 2005, pero usar un DataSet solo para esto es gastar memoria al cuete.

Si utilizas 2005 usa DataTables que es una tabla en memoria en lugar de DataSet que contiene una DataTable o mas en memoria.

El objeto DataSet es muy bueno pero para estos casos simples se sobra, por eso el cambio en 2005.
Sin ofender Peterpay ok.

Saludos.
  #7 (permalink)  
Antiguo 05/03/2008, 18:34
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Restringir busqueda a 20 registros con SqlDataReader

claro es una opcion, como dices cualquiera de los dos funciona.

saludos
peter
  #8 (permalink)  
Antiguo 05/03/2008, 19:09
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Restringir busqueda a 20 registros con SqlDataReader

Ya que entramos un tanto en polemica y mas q ello pensado no solo en velocidad y memoria q como dice mdavila suelen ser bastante buenos los datatables.

Los Dataset proveen

-Relaciones Master-Detalle con chequeos de Integridad
-Columnas Calculadas por el usuario, y adiciones se mantienen actualizadas cuando la información cambia.
-Filtrado y ordenamiento en la capa de presentacion o del lado del usuario no requiere viajes redondos a la bd y permanece actualizado cuando hay cambios.
-Muchos de los controles Web o Windows Permiten la actualizacion de 2 vias optimizadas para este tipo de objetos.
-Habilidad de leer o escribir directamente representaciones XML de datos relacionados.

Saludos
Peterpay

Última edición por Peterpay; 05/03/2008 a las 19:48
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:35.