Obtener registros por pagina

17/05/2007 - 08:23 por Piolin Net | Informe spam
Alo!

Mi cuestion es la siguiente:
Tengo una pag. con un paginador que me muestra los registros especificados x
pagina. La tecnica q utilizo es hacer la consulta select, devolver TODOS los
registros, especificarle los regs x pag. (rs.PageSize = 10), colocarme en la
pag. correspondiente (rs.AbsolutePage) y mostrar esos registros x pagina.

No es posible hacer la consulta y que solo devuelva los registros q voy a
listar en vez de los 100.000? Osea, si estoy en la pag. 51 y son 10 regs x
pagina que me devuelva del 500 al 510 etc. y no todo el mogollon.

gracias.

Preguntas similare

Leer las respuestas

#1 Maxi
17/05/2007 - 14:17 | Informe spam
Hola, si que es posible, lamentablemente no nos dices la version de sql, voy
a suponer 2000
leete este link

http://www.portalsql.com/procpagina...articulo%5


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Piolin Net" escribió en el mensaje
news:
Alo!

Mi cuestion es la siguiente:
Tengo una pag. con un paginador que me muestra los registros especificados
x
pagina. La tecnica q utilizo es hacer la consulta select, devolver TODOS
los
registros, especificarle los regs x pag. (rs.PageSize = 10), colocarme en
la
pag. correspondiente (rs.AbsolutePage) y mostrar esos registros x pagina.

No es posible hacer la consulta y que solo devuelva los registros q voy a
listar en vez de los 100.000? Osea, si estoy en la pag. 51 y son 10 regs x
pagina que me devuelva del 500 al 510 etc. y no todo el mogollon.

gracias.
Respuesta Responder a este mensaje
#2 Javier Loria
17/05/2007 - 14:31 | Informe spam
Hola:
Usas SQL 2005? Puedes usar la funcion ROW_NUMBER.
La tecnica es mas o menos asi:

DECLARE @FilasxPagina INT
SET @FilasxPagina ;
WITH Facturas
AS (
SELECT SalesOrderID, ProductID, OrderQty
, (ROW_NUMBER() OVER(ORDER BY SalesOrderId, ProductID) % @FilasxPagina) AS
Fila
, (ROW_NUMBER() OVER(ORDER BY SalesOrderId, ProductID) / @FilasxPagina)+1
AS Pagina
FROM Sales.SalesOrderDetail
)
SELECT *
FROM Facturas WHERE Pagina=2

Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Piolin Net" wrote in message
news:
Alo!

Mi cuestion es la siguiente:
Tengo una pag. con un paginador que me muestra los registros especificados
x
pagina. La tecnica q utilizo es hacer la consulta select, devolver TODOS
los
registros, especificarle los regs x pag. (rs.PageSize = 10), colocarme en
la
pag. correspondiente (rs.AbsolutePage) y mostrar esos registros x pagina.

No es posible hacer la consulta y que solo devuelva los registros q voy a
listar en vez de los 100.000? Osea, si estoy en la pag. 51 y son 10 regs x
pagina que me devuelva del 500 al 510 etc. y no todo el mogollon.

gracias.
Respuesta Responder a este mensaje
#3 Piolin Net
17/05/2007 - 14:57 | Informe spam
uso la 2000

he leido el articulo y no me he enterado de nada.

no se si eso se podra aplicar a los datos que necesito sacar yo

gracias.

"Maxi" wrote:

Hola, si que es posible, lamentablemente no nos dices la version de sql, voy
a suponer 2000
leete este link

http://www.portalsql.com/procpagina...articulo%5


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Piolin Net" escribió en el mensaje
news:
> Alo!
>
> Mi cuestion es la siguiente:
> Tengo una pag. con un paginador que me muestra los registros especificados
> x
> pagina. La tecnica q utilizo es hacer la consulta select, devolver TODOS
> los
> registros, especificarle los regs x pag. (rs.PageSize = 10), colocarme en
> la
> pag. correspondiente (rs.AbsolutePage) y mostrar esos registros x pagina.
>
> No es posible hacer la consulta y que solo devuelva los registros q voy a
> listar en vez de los 100.000? Osea, si estoy en la pag. 51 y son 10 regs x
> pagina que me devuelva del 500 al 510 etc. y no todo el mogollon.
>
> gracias.



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