Foros del Web » Programando para Internet » ASP Clásico »

paginacion

Estas en el tema de paginacion en el foro de ASP Clásico en Foros del Web. Hola, de hace algunos dias he tratado de hacer una paginacion sacando registros desde oracle, tengo entendido que no es igual que acces ya que ...
  #1 (permalink)  
Antiguo 20/03/2003, 14:06
 
Fecha de Ingreso: marzo-2003
Ubicación: santiago
Mensajes: 11
Antigüedad: 22 años, 1 mes
Puntos: 0
paginacion

Hola, de hace algunos dias he tratado de hacer una paginacion sacando registros desde oracle, tengo entendido que no es igual que acces ya que los recordset son diferentes, pero aun asi no puedo mostrar los datos, o sea en la primera pagina me muestra los 10 datos que quiero mostrar pero cuando quiero avanzar me salen solo los links para avanzar, cual seria el problema.


atte.
  #2 (permalink)  
Antiguo 20/03/2003, 14:52
 
Fecha de Ingreso: marzo-2003
Ubicación: Av. Grau 1190
Mensajes: 122
Antigüedad: 22 años, 2 meses
Puntos: 3
Hola aqui te muestro una paginacion con Get Rows, espero te ayude.
Lo complete hace poco con la ayuda de un amigo de este foro. Ojo y es completa.


*****************
Dim pag, iEstado
Dim oConn, SQL, rs
Dim aDatos, iTotal
Dim I, J, N
N=4 'N = numero de registros por pagina

'Nos conectamos a la base de datos...
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("miBD.mdb")
'oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("miBase.mdb")
SQL="SELECT * FROM info"
'Vamos a utilizar el Recordset más eficiente
'CursorType = Forward-Only
rs.CursorType = 0
'LockType = Read-Only
rs.LockType = 1
'CursorLocation = adUseClient
rs.CursorLocation = 3
'Y abrimos el Recordset
rs.Open SQL, oConn
'Obtengo los datos con GetRows
aDatos = rs.GetRows
'Cierro y limpio objetos ya
rs.Close
oConn.Close
set rs = nothing
set oConn = nothing

'Obtengo la página a mostrar de
'la querystring
pag = CInt(Request.QueryString("P"))
'Y llamo a PaginarGR
iEstado = PaginarGR (N, pag, aDatos)


'================================================= ====================================
' PaginarGR -- Pagina un vector bidimensional
' vector es el vector a paginar, iPag la página a mostrar y iRegsPorPag el nº de
' registros por cada página que queremos.
'================================================= ====================================
Function PaginarGR (iRegsPorPag, iPag, vector)
'
'I, J se utilizan para recorrer el vector
Dim I, J
'Total de páginas y la página que queremos mostrar
Dim iPaginas, iPagActual
'Total de registros, registro en que empezamos y registro en que terminamos
Dim iTotal, iComienzo, iFin

'Hallo el total de registros devueltos
iTotal = UBound(aDatos,2)+1
'Calculo el numero de páginas que tenemos
iPaginas = (iTotal \ iRegsPorPag)
'Si daba decimales, añado una más
'para mostrar los últimos registros
if iTotal mod iRegsPorPag > 0 then
iPaginas = iPaginas + 1
end if
'Si no es una página válida, comienzo en la primera
if iPag < 1 then
iPag = 1
end if
'Si es una página mayor al nº de páginas, comienzo en la última
if iPag > iPaginas then
iPag = iPaginas
end if
%>
<HTML>
<HEAD>
<TITLE>Paginar con GETROWS</TITLE>


<h2><center>Paginar con GetRows</center></h2>
<p> P&aacute;gina
<% = iPag %>
de
<% = iPaginas %>
(
<% = iTotal%>
registros)<br>
<% iComienzo = (iPag-1)*iRegsPorPag
'y donde termino:
iFin = iComienzo + (iRegsPorPag-1)
'Si no tengo suficientes registros restantes,
'voy hasta el final
if iFin > UBound(vector, 2) then
iFin = UBound(vector, 2)
end if
%>
</p>
<p>
<% Response.Write("<TABLE width='250' border='0' cellspacing='2' cellpadding='0'><TR bgcolor='#99CC99'>")
'Recorremos el vector
'Desde el primero hasta el último "registro"...
counter=0
for I= iComienzo to iFin
Response.Write("<TD>" & vector(1,I) & "<br>" & vector(0,I) & "</TD>")
Response.Write("<TD>" & vector(2,I) & "</TD>")
Response.Write("<TD>" & "<img src='../imgs/trans10x10.gif'>" & "</TD>")
counter=counter+1
If counter Mod 2=0 Then Response.Write "</tr>"
next
Response.Write "</table>"
%>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Página:
<%For i = 1 To iPaginas
P = CInt(Request("P"))
If P < 1 Then P = 1

If cstr(i) <> Cstr(P) Then %>
<b><a href="<%=NomPage%>?P=<%=i%>">
<%=i%></a></b>
<%Else%>
<%=i%>
<%End If

Next
%>
::
<%
if iPag > 1 then
Response.Write("<A HREF="&NomPage&"?P="&iPag-1&"><b>Anterior</b></A>&nbsp;&nbsp;")
end if
if iPag < iPaginas then
Response.Write("<A HREF="&NomPage&"?P="&iPag+1&"><b>Siguiente</b></A>&nbsp;")
end if

PaginarGR = 0
End Function
'================================================= ====================================
%>
<p>&nbsp;
<p>&nbsp;
<p>&nbsp;
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
  #3 (permalink)  
Antiguo 20/03/2003, 15:33
 
Fecha de Ingreso: marzo-2003
Ubicación: santiago
Mensajes: 11
Antigüedad: 22 años, 1 mes
Puntos: 0
gracias, mira lo voy a revisar, pero para una base oracle es lo mismo????? o cambian algunas cosas??? como por ejemplo los rs
  #4 (permalink)  
Antiguo 20/03/2003, 15:36
 
Fecha de Ingreso: marzo-2003
Ubicación: Av. Grau 1190
Mensajes: 122
Antigüedad: 22 años, 2 meses
Puntos: 3
El codigo que te envie es para un BD en Access y con paginas ASP, espero q te ayude.

Cuidate
  #5 (permalink)  
Antiguo 20/03/2003, 15:56
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 23 años, 3 meses
Puntos: 0
en las faqs puse uno con classes que tal vez te ayude, buscalo, hay varios por ahi
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:33.