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> ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=paginar.asp?pagina=" & PaginaActual+1 &">10 Siguientes</A>")
end if
%>
</body>
</html>