Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2006, 10:44
Avatar de Boxmaster
Boxmaster
 
Fecha de Ingreso: agosto-2004
Ubicación: Ahorita... frente a mi PC
Mensajes: 74
Antigüedad: 20 años, 8 meses
Puntos: 0
Exclamación Paginar registros de MySQL en ASP

Saludos


Tengo unos problemitas a la hora de paginar registros de MySQL en ASP, les voy a comentar mi problema.

A la hora de paginar registros me da este error:

Código HTML:
Tipo de error:
ADODB.Recordset (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/envelope/paginar.asp, línea 63
y la linea de error es la siguiente:

Código:
rs.AbsolutePage=PaginaActual
La coneccion MySQL que uso es esta:

Código:
' Conexión por MySQL
oConn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=envelope;USER=root;PASSWORD=123111;OPTION=3;")
La conexion de Access es esta:

Código:
' Conexion por OLEDB
'oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("bd2.mdb")&";"
y si funciona la paginacion

Asi que aqui les mando el codigo completo, espero me den algun tip para corregir este error, ok.

Código:
<%@ Language = "VBScript" %>
<% Response.Buffer = True %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Paginar Registros</title>
</head>

<body>
<%

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

'cuantos resultados por pagina
TamPagina=10

'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")

' Conexión por MySQL
oConn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=envelope;USER=root;PASSWORD=123111;OPTION=3;")
' Conexion por OLEDB
'oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("bd2.mdb")&";"
SQL="SELECT Id, Style FROM Style;"

' 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 PaginaActual < 1 then 
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

'Si no existen Fotografías devuelve este mensaje
if PaginasTotales=0 then

Response.Write("No se Encontraron Registros.")

else

'Escribiendo la pagina en HTML con ASP
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de " & PaginasTotales)
Response.Write("<br><br>")
Response.Write("<TABLE BORDER=""0"" ALIGN=""center"" STYLE=""font-size:75%"">")
Response.Write("<TR><TD COLSPAN=""3""><B>RESULTADOS</B></TD>")
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Pinto una línea de la tabla por cada registro
Response.Write("<TR>"&VbCrLf)
Response.Write("<TD>"&rs.Fields("Style")&"</TD>")
Response.Write("<td>""<a href="""&rs.Fields("Style")&""">""<img border=""0"" src= """&rs.Fields("Style")&"-F.jpg"&"""width=""320"" height=""240""""</td>")
Response.Write("</TR>")
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
Response.Write("</TABLE>")

end if
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing

'Muestra los enlaces de a 10 Resultados
Response.Write("<hr>")
if PaginaActual > 1 then
Response.Write("<A HREF=paginar.asp?pagina="& PaginaActual-1& ">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=paginar.asp?pagina=" & PaginaActual+1 &">10 Siguientes</A>")
end if


%>

</body>
</html>