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
Código:
La coneccion MySQL que uso es esta:rs.AbsolutePage=PaginaActual
Código:
La conexion de Access es esta:' Conexión por MySQL oConn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=envelope;USER=root;PASSWORD=123111;OPTION=3;")
Código:
y si funciona la paginacion' Conexion por OLEDB 'oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("bd2.mdb")&";"
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>