Ayuda Urgente en Paginacion

29/09/2007 - 13:48 por Cristina M. | Informe spam
Accedo a una base de datos mediante la clausula SQL
Pagina bien el numero inicial, pero al darle a siguiente me lista desde el
comienzo todos los registros de la tabala.
Que tengo que hacer o donde esta el problema para que unicamente muestre los
que cumplen la condicion?
El codigo es este:
Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que
queramos
Dim Palabra
Palabra = request.querystring("Particular")
'MODIFICAR AQUI PARA CAMBIAR EL Nº DE REGISTRO POR PAGINA
TamPagina
'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.ConnectionString="DSN=xxxxxxxxxxxxxxx"
oConn.Mode=3
oConn.open

SQL="SELECT * FROM C_Titulares where Apellidos LIKE '%" &
Request.Form("Particular")&"%' OR dni LIKE '%" &
Request.Form("Particular")&"%' ORDER BY Apellidos, Personas.Nombre "

' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina

' Abro el recordset
rs.Open SQL, oConn, 1, 2

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango

if PaginasTotales=0 then
Response.Write("No se encontraron resultados.")
else
'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de " & PaginasTotales)
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Muestro los enlaces
%>
<%=(Rs.Fields.Item("Apellidos").Value)%>
<%
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
end if
%>
<%
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
if PaginaActual > 1 then
Response.Write("<A HREF=Consultas_RC_01.asp?pagina="& PaginaActual-1& ">10
Anteriores</A> ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=Consultas_RC_01.asp?pagina=" & PaginaActual+1 &">10
Siguientes</A>")
end if

%>
 

Leer las respuestas

#1 Marco Landeros
09/10/2007 - 22:01 | Informe spam
Estimada,
en www.asptutor.com aparece la forma de como paginar en asp.

funciona bien.
ten cuidado con la cantidad de registros ya que puede ser que tengas muchos
datos en la pantalla y el quiero traiga cientos de miles de registros.

Saludos
LanderMen


"Cristina M." wrote:

Accedo a una base de datos mediante la clausula SQL
Pagina bien el numero inicial, pero al darle a siguiente me lista desde el
comienzo todos los registros de la tabala.
Que tengo que hacer o donde esta el problema para que unicamente muestre los
que cumplen la condicion?
El codigo es este:
Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que
queramos
Dim Palabra
Palabra = request.querystring("Particular")
'MODIFICAR AQUI PARA CAMBIAR EL Nº DE REGISTRO POR PAGINA
TamPagina
'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.ConnectionString="DSN=xxxxxxxxxxxxxxx"
oConn.Mode=3
oConn.open

SQL="SELECT * FROM C_Titulares where Apellidos LIKE '%" &
Request.Form("Particular")&"%' OR dni LIKE '%" &
Request.Form("Particular")&"%' ORDER BY Apellidos, Personas.Nombre "

' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina

' Abro el recordset
rs.Open SQL, oConn, 1, 2

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango

if PaginasTotales=0 then
Response.Write("No se encontraron resultados.")
else
'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de " & PaginasTotales)
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Muestro los enlaces
%>
<%=(Rs.Fields.Item("Apellidos").Value)%>
<%
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
end if
%>
<%
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
if PaginaActual > 1 then
Response.Write("<A HREF=Consultas_RC_01.asp?pagina="& PaginaActual-1& ">10
Anteriores</A> ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=Consultas_RC_01.asp?pagina=" & PaginaActual+1 &">10
Siguientes</A>")
end if

%>

Preguntas similares