24/10/2007, 09:28
|
| | | Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 20 años Puntos: 3 | |
Re: Paginar resultados yo utilizo un procedimiento almacenado que me pagina. yo le paso por parametros el numero de registros que va a tener la pagina y la pagina que quiero mostrar.
Al final del procedimiento llamo a la funcion CantidadPaginas, lo que hace es retornarme la cantidad de paginas que corresponderian a esta consulta, para yo poder hacer la paginacion manual.
a mi me parece que asi es mucho mas eficiente y yo manejando grandes cantidades de datos me ha resultado muy bien.
CREATE PROCEDURE [rcListar_Noticia_Pag](
@num_registros smallint = 100,
@num_pagina smallint = 1)
AS
SET NOCOUNT ON
BEGIN
Declare @NoRegs as smallint
SET @NoRegs = @num_registros * (@num_pagina - 1)
SELECT TOP(@num_registros)
[id_noticia]
,[nom_noticia]
--,[des_noticia]
,[fec_noticia]
,[fec_vencimiento]
,[ind_estado]
,[num_vistas]
FROM [vrcNoticia]
WHERE [id_noticia] not in(
SELECT TOP(@NoRegs) [id_noticia]
FROM vrcNoticia
ORDER BY [id_noticia] DESC)
ORDER BY [id_noticia] DESC
/* Retorna el numero total de paginas */
DECLARE @CantidadRegistros as smallint
SELECT @CantidadRegistros = COUNT(*) FROM [vrcNoticia]
SELECT dbo.CantidadPaginas(@CantidadRegistros,@num_regist ros) TotalPaginas
END
__________________ roy rojas
Programación en Español: DotNetcr.com |