ASP - Paginacion ASP, Ayuda porfa !!!

 
Vista:

Paginacion ASP, Ayuda porfa !!!

Publicado por melomano_metall (1 intervención) el 20/12/2006 00:16:44
tengo 50000 registro, le hago paginacion en mi pagina web y me sale error de memoria cuando me voy ala ultima pagina, el error me sale aqui: "rs.AbsolutePage", esto no ocurre cuando tengo 10000 registros, tiene algun limite esto ?...ayudenme porfa...

atte
melomano_metall
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Paginacion ASP, Ayuda porfa !!!

Publicado por Ivan Alcaman (9 intervenciones) el 03/01/2007 16:56:58
La verdad no es muy conveniente estar paginando 50.000 registros, ya que es muy poco probable que el usuario esté buscando registro por registro unos pocos datos.

en estos casos de gran cantidad de registros te aconsejo que uses filtros. ejemplo. en ves de mostrar los 50.000 registros de datos de personas en forma paginada, antes has que el usuario escoja un filtro como mostrar todos los registros de datos de personas cuyo nombre empiese con la leta "A" , quisas en este ultimo caso tendras que paginar 10.000 registros o mucho menos. ademas le haces el trabajo mas facil al usuario para buscar lo que el quiere. y lo mas importante no le das tanto trabajo al motor de bases de datos si es que hay muchos usuarios conectados simultaneamente a tu pagina.ya que la gente despues de esperar 10 ó más segundos despues de cargar una pagina se pone un poco de mal humor.

Saludos

Ivan Alcaman
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paginacion ASP y mySQL, Ayuda porfa !!!

Publicado por janeth (1 intervención) el 10/03/2007 01:00:05
Tengo este codigo para paginacion que no logro hacerlo funcionar....me gustaria mucho que me ayudaran....de antemano gracias

<%@ Language=VBScript %>
<% Option Explicit %>
Dim PaginaActual, PaginasTotales, TamPagina, CuantosRegistros, num_campos


'cuantos resultados por pagina
TamPagina=20

'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


' Conexión a Base datos
Set conn = Server.CreateObject("ADODB.Connection")
sConnString = "DSN=vistamediasoft"
conn.Open sConnString
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd1 = Server.CreateObject("ADODB.Command")
Set cmd2 = Server.CreateObject("ADODB.Command")
Set cmd3 = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs1 = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
Set rs3 = Server.CreateObject("ADODB.Recordset")
Set cmd.ActiveConnection = conn
Set cmd1.ActiveConnection = conn
Set cmd2.ActiveConnection = conn
Set cmd3.ActiveConnection = conn

strquery = "SELECT count(*) FROM FtpDescargas WHERE IDClienteFTP = " & Session("IDCliente") & " ORDER BY InicioDescarga DESC"
Cmd.CommandText = Strquery
Set rs = Cmd.Execute

Cuantosregistros = rs(0)
if Cuantosregistros mod Tampagina <> 0 then
PaginasTotales = (Cuantosregistros \ Tampagina)+1
else
PaginasTotales = (Cuantosregistros \ Tampagina)
end if

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

%>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Vista - Downloads</title>
<link href="estilos.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="780" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top"><p><img src="images/topVistaCentroDescargas.gif" alt="Vista Multimedia" width="780" height="129" /></p>
<table width="580" height="100" border="1" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">
<table width="580" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table width="580" border="0" cellspacing="5" cellpadding="0">
<tr>
<td colspan="2" align="center" class="regularTitle">Reporte de Asignación de
Archivos a Plazas. Cliente:
<%=Session("NomCliente")%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top">
<table width="580" border="1" cellpadding="0" cellspacing="1" bordercolor="#aaaaaa">
<tr>
<td class="regularText" align="center"> <i><b>Archivo</b></i></td>
<td class="regularText" align="center"> <i><b>Usuario</b></i></td>
<td class="regularText" align="center"> <i><b>Plaza</b></i></td>
<td class="regularText" align="center"> <i><b>IP</b></i></td>
<td class="regularText" align="center"> <i><b>Inicio</b></i></td>
<td class="regularText" align="center"> <i><b>Fin</b></i></td>
<td class="regularText" align="center"> <i><b>¿Ok?</b></i></td>
</tr>
<%

' Buscar Plazas del Cliente
strquery = "SELECT * FROM FTPDescargas WHERE IDClienteFTP = " & Session("IDCliente") & " ORDER BY InicioDescarga DESC"

cmd.CommandText = strquery
Set rs = cmd.execute


' Obtener usuario

idusuario = rs("IDUsuarioFTP")
strquery = "SELECT * FROM FTPUsuarios WHERE IDUsuarioFTP = " & idusuario
cmd1.CommandText = strquery
Set rs1 = cmd1.execute
nomusuario = rs1("Login")

' Obtener Plaza
idplaza = rs("IDPlazaFTP")
strquery = "SELECT * FROM FTPPlazas WHERE IDPlazaFTP = " & idplaza
cmd1.CommandText = strquery
Set rs1 = cmd1.execute
nomplaza = antitrans(rs1("Nombre"))

' Obtener ID
idarchivo = rs("IDArchivoFTP")
strquery = "SELECT * FROM FTPArchivos WHERE IDArchivoFTP = " & idarchivo
cmd1.CommandText = strquery
Set rs1 = cmd1.execute
nomarchivo = solo_archivo(antitrans(rs1("Liga")))

IP = rs("IP")

' Obtener Archivo
'if nomarchivo= "" then
Nombrearchivo = rs("Nombrearchivo")
strquery = "SELECT nombrearchivo FROM FTPDescargas WHERE IDArchivoFTP = " & idarchivo
cmd1.CommandText = strquery
Set rs1 = cmd1.Execute
'nombrearchivo = solo_archivo(antitrans(rs1("Nombrearchivo")))

inicio = antifecha(rs("InicioDescarga")) & " " & antihora(rs("InicioDescarga"))
final = antifecha(rs("FinalDescarga")) & " " & antihora(rs("FinalDescarga"))
if rs("ACK") = 0 then
ack = "-"
else
ack = "OK"
end if

' Procesar resultados de plazas
If RS.EOF then
CuantosRegistros=0
do while not rs.EOF and cuantosregistros <= Tampagina
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
end if
' Resultados de descargas
%>
<tr>
<td class="copyRight" align="center"> <%=nomarchivo%></td>
<td class="copyRight" align="center"> <%=nomusuario%></td>
<td class="copyRight" align="center"> <%=nomplaza%></td>
<td class="copyRight" align="center"> <%=IP%></td>
<td class="copyRight" align="center"> <%=inicio%></td>
<td class="copyRight" align="center"> <%=final%></td>
<td class="copyRight" align="center"> <%=ack%></td>
<tr>
</tr>
<%

%>
</table>
</td>
</tr>
</table>
<%
'Muestra los enlaces a 10 resultados
Response.Write("<hr>")
if PaginaActual > 1 then
Response.Write("<A HREF=descargas.asp?pagina="& Paginasactual-1& ">20 Anteriores</A>   ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=descargas.asp?pagina="& Paginasactual+1& ">20 Siguientes</A>")
end if

%>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paginacion ASP, Ayuda porfa !!!

Publicado por Ivan Alcaman (9 intervenciones) el 03/01/2007 16:57:32
La verdad no es muy conveniente estar paginando 50.000 registros, ya que es muy poco probable que el usuario esté buscando registro por registro unos pocos datos.

en estos casos de gran cantidad de registros te aconsejo que uses filtros. ejemplo. en ves de mostrar los 50.000 registros de datos de personas en forma paginada, antes has que el usuario escoja un filtro como mostrar todos los registros de datos de personas cuyo nombre empiese con la leta "A" , quisas en este ultimo caso tendras que paginar 10.000 registros o mucho menos. ademas le haces el trabajo mas facil al usuario para buscar lo que el quiere. y lo mas importante no le das tanto trabajo al motor de bases de datos si es que hay muchos usuarios conectados simultaneamente a tu pagina.ya que la gente despues de esperar 10 ó más segundos despues de cargar una pagina sin ver resultados ....se pone un poco de mal humor.

Saludos

Ivan Alcaman
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar