Paginar resultados

01/12/2003 - 18:01 por Xus | Informe spam
Como se paginan los resultados de una consulta SELECT?


Gracias.

Preguntas similare

Leer las respuestas

#6 Diego Uribe
03/12/2003 - 17:40 | Informe spam
Despues de probar me resulta ineficiente este método... Sin embargo quisiera
aclarar:

conn = * Objeto ADO(2.7)DB Connection Conectado con SQL Server *
sql = "Select * from tabla"
Set rs = Server.CreateObject("ADODB.Recordset")
RS.PageSize
RS.AbsolutePage= 1
Set rs = conn.execute(sql)
While not rs.eof
Response.Write rs(0) & " - " & rs(1) & " - " & rs(2) & " - " & rs(3) &
" - " & rs(4) & " - " & "<BR>"
rs.MoveNext
Wend

Esta bien este código?? Necesita algo??
Si la respuesta es afirmativa, les respondo NO FUNCIONA arroja todos los
registros de Tabla y son millón y medio.
Si es negativa QUE TENGO MAL?


Gracias

Diego

"Daniel Álvarez" escribió en el mensaje
news:
He de reconocer que odio escribir paginas paginadas con tanto botoncito y
parametros jajaja. Me deje llevar por mis manias. =)

Daniel Álvarez




"danicastillo" escribió en el
mensaje news:
> Hombre jeje no seas exagerao =)
>
> si quieres la respuesta "basica" es
> RS.PageSize=num_registros
> RS.AbsolutePage= num_pagina
>
> el resto es evidentemente mostrar la consulta
>
> no veo nada de complicacion en el tema, solo q por supuesto hay que
> programar q al pulsar en un lado avances de pagina y al pulsar en otro
> retrocedas , etc pero ese codigo es inevitable (de hecho odio los


sistemas
> en los q dan todo de alto nivel ya paginado y montado, prefiero asp y
montar
> yo la paginacion como quiera =)
>
>
> -o|o|--
> -o|o| dani castillo
> -o|o| http://www15.brinkster.com/danic/
> -o|o| tutorial y trucos asp, vb, diseño
> -o|o|--
> "Xus" escribió en el mensaje
> news:
> > Buf, es chungo, mas de lo necesario.
> >
> >
> > "Daniel Álvarez" ha escrit en el missatge dels
grups
> de
> > discussió:
> > > Si en google buscas
> > >
> > > asp paginar resultados
> > >
> > > La primera url que te sale te vale,
> > > y la segunda que te sale tambien te vale.
> > >
> > > Suerte.
> > >
> > >
> > > Daniel Álvarez
> > >
> > >
> > >
> > >
> > > "Xus" escribió en el mensaje
> > > news:%23%
> > > > Como se paginan los resultados de una consulta SELECT?
> > > >
> > > >
> > > > Gracias.
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Daniel Álvarez
03/12/2003 - 18:13 | Informe spam
No solo se trata de abrir el recordset tienes que controlar el

while not rs.eof

comprueba lo que hacen en esas dos paginas y como controlan el while

Daniel Álvarez




"Diego Uribe" escribió en el mensaje
news:%
Despues de probar me resulta ineficiente este método... Sin embargo


quisiera
aclarar:

conn = * Objeto ADO(2.7)DB Connection Conectado con SQL Server *
sql = "Select * from tabla"
Set rs = Server.CreateObject("ADODB.Recordset")
RS.PageSize
RS.AbsolutePage= 1
Set rs = conn.execute(sql)
While not rs.eof
Response.Write rs(0) & " - " & rs(1) & " - " & rs(2) & " - " & rs(3)


&
" - " & rs(4) & " - " & "<BR>"
rs.MoveNext
Wend

Esta bien este código?? Necesita algo??
Si la respuesta es afirmativa, les respondo NO FUNCIONA arroja todos


los
registros de Tabla y son millón y medio.
Si es negativa QUE TENGO MAL?


Gracias

Diego

"Daniel Álvarez" escribió en el mensaje
news:
> He de reconocer que odio escribir paginas paginadas con tanto botoncito


y
> parametros jajaja. Me deje llevar por mis manias. =)
>
> Daniel Álvarez
>
>
>
>
> "danicastillo" escribió en el
> mensaje news:
> > Hombre jeje no seas exagerao =)
> >
> > si quieres la respuesta "basica" es
> > RS.PageSize=num_registros
> > RS.AbsolutePage= num_pagina
> >
> > el resto es evidentemente mostrar la consulta
> >
> > no veo nada de complicacion en el tema, solo q por supuesto hay que
> > programar q al pulsar en un lado avances de pagina y al pulsar en otro
> > retrocedas , etc pero ese codigo es inevitable (de hecho odio los
sistemas
> > en los q dan todo de alto nivel ya paginado y montado, prefiero asp y
> montar
> > yo la paginacion como quiera =)
> >
> >
> > -o|o|--
> > -o|o| dani castillo
> > -o|o| http://www15.brinkster.com/danic/
> > -o|o| tutorial y trucos asp, vb, diseño
> > -o|o|--
> > "Xus" escribió en el mensaje
> > news:
> > > Buf, es chungo, mas de lo necesario.
> > >
> > >
> > > "Daniel Álvarez" ha escrit en el missatge dels
> grups
> > de
> > > discussió:
> > > > Si en google buscas
> > > >
> > > > asp paginar resultados
> > > >
> > > > La primera url que te sale te vale,
> > > > y la segunda que te sale tambien te vale.
> > > >
> > > > Suerte.
> > > >
> > > >
> > > > Daniel Álvarez
> > > >
> > > >
> > > >
> > > >
> > > > "Xus" escribió en el mensaje
> > > > news:%23%
> > > > > Como se paginan los resultados de una consulta SELECT?
> > > > >
> > > > >
> > > > > Gracias.
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#8 Manuel Etcheto
03/12/2003 - 19:14 | Informe spam
Hola Diego
Funciona... solo que no es lo que buscas
Al hacer SET... estás dejando de lado todo lo "seteado"
anteriormente respecto a Rs

' todo este bloque no tiene ningún valor...
*************
Set rs = Server.CreateObject("ADODB.Recordset")
RS.PageSize
RS.AbsolutePage= 1
RS.etcétera
************
Set rs = conn.execute(sql) ' esto sí

Si quieres "setear" Rs a tu gusto debes luego
utilizar .Open

2) Si tienes sqlServer va a ser mucho más eficiente que
devuelvas solamente los registros que necesitas para cada
página, utilizando un sp o una simple función returns
Table con el parámetro del último que mostraste, y no
crear un recordset para cada usuario con 1 millón de
registros si el tipo solo quiere 20...
Si necesitas ayuda para ésto avísame
Suerte
Manuel


Despues de probar me resulta ineficiente este método...


Sin embargo quisiera
aclarar:

conn = * Objeto ADO(2.7)DB Connection Conectado con SQL


Server *
sql = "Select * from tabla"
Set rs = Server.CreateObject("ADODB.Recordset")
RS.PageSize
RS.AbsolutePage= 1
Set rs = conn.execute(sql)
While not rs.eof
Response.Write rs(0) & " - " & rs(1) & " - " & rs(2)


& " - " & rs(3) &
" - " & rs(4) & " - " & "<BR>"
rs.MoveNext
Wend

Esta bien este código?? Necesita algo??
Si la respuesta es afirmativa, les respondo NO


FUNCIONA arroja todos los
registros de Tabla y son millón y medio.
Si es negativa QUE TENGO MAL?


Gracias

Diego
Respuesta Responder a este mensaje
#9 Diego Uribe
03/12/2003 - 22:13 | Informe spam
Queria ver como estan trabajando la paginacion.
Pero al parecer el resultado más util sigue saliendo de la base??

Quiere decir que siempre seria mucho más eficiente utilizar sino un "sp" un
"Select top 10 * from tabla"?

???

Saludos

Diego

Y una cosa manuel, no te recomiendo colocar tu direccion de correo en
esto

"Manuel Etcheto" escribió en el
mensaje news:000a01c3b9c9$3e781cd0$
Hola Diego
Funciona... solo que no es lo que buscas
Al hacer SET... estás dejando de lado todo lo "seteado"
anteriormente respecto a Rs

' todo este bloque no tiene ningún valor...
*************
Set rs = Server.CreateObject("ADODB.Recordset")
RS.PageSize
RS.AbsolutePage= 1
RS.etcétera
************
Set rs = conn.execute(sql) ' esto sí

Si quieres "setear" Rs a tu gusto debes luego
utilizar .Open

2) Si tienes sqlServer va a ser mucho más eficiente que
devuelvas solamente los registros que necesitas para cada
página, utilizando un sp o una simple función returns
Table con el parámetro del último que mostraste, y no
crear un recordset para cada usuario con 1 millón de
registros si el tipo solo quiere 20...
Si necesitas ayuda para ésto avísame
Suerte
Manuel


Despues de probar me resulta ineficiente este método...


Sin embargo quisiera
aclarar:

conn = * Objeto ADO(2.7)DB Connection Conectado con SQL


Server *
sql = "Select * from tabla"
Set rs = Server.CreateObject("ADODB.Recordset")
RS.PageSize
RS.AbsolutePage= 1
Set rs = conn.execute(sql)
While not rs.eof
Response.Write rs(0) & " - " & rs(1) & " - " & rs(2)


& " - " & rs(3) &
" - " & rs(4) & " - " & "<BR>"
rs.MoveNext
Wend

Esta bien este código?? Necesita algo??
Si la respuesta es afirmativa, les respondo NO


FUNCIONA arroja todos los
registros de Tabla y son millón y medio.
Si es negativa QUE TENGO MAL?


Gracias

Diego
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida