Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/12/2005, 19:13
partisano
 
Fecha de Ingreso: diciembre-2005
Mensajes: 8
Antigüedad: 19 años, 4 meses
Puntos: 0
Error en paginación

Buenas noches:

Es mi primer post y nada que me presento para dar y recibir ayuditas

He usado este código y me da este error:

Tipo de error:
ADODB.Recordset (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/musica/autor.asp, línea 63

..................................

Tengo una bd llamada música y accedo desde musica.asp a varias opciones: autor, título, formato, duración...
El caso es que si elimino:where autor=('" & Replace(xx, "'", "''") & "')en la sql CONSULTA funciona bien pero claro, sin filtrar por el autor. Y ahí es donde mestoy volviendo majara.
..................................

<%@language="vbscript"%>
<%option explicit%>
<!--#include file="include\adovbs.inc"-->
<html>

<!-- recibimos del formulario la dirección del movimiento y
lo guardamos en una variable de sesión para este usuario -->

<%


dim xx,inicio,fin,conexion,rs,consulta,valor,contador

xx=request.form("autor")
if xx = "Atras" then
session("pagina")=session("pagina")-1

if session("pagina")< 1 then
session("pagina")=1 'evitamos el error por reload
end if

else
if xx="Adelante" then
session("pagina")=session("pagina")+1
else
session("pagina")=1 'primera pasada
end if
end if%>

<head>
<title>Paginación de registros</title>
</head>

<!-- Montamos la sentencia SQL con los campos a seleccionar -->

<%
consulta="SELECT Autor.Autor, Título.Título, Duración.Duración, Formato.Formato FROM Formato INNER JOIN (Duración INNER JOIN (Autor INNER JOIN Título ON Autor.IdAutor = Título.IdAutor) ON Duración.IdDuración = Título.IdDuración) ON Formato.IdFormato = Título.IdFormato where autor=('" & Replace(xx, "'", "''") & "')"
%>


<body>

<!-- Creamos el objeto recordset y le asignamos un tipo de cursor
que nos permita movernos por el y asignarle tamaños de pagina -->

<%set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenstatic %>

<!-- abrimos el recordset con la sentencia SQL sobre nuestra base
ODBC y le asignamos el tamaño de página -->

<%rs.Open consulta, "DSN=Musica"
rs.pagesize=10

if session("pagina")>rs.pagecount then
session("pagina")=rs.pagecount 'evitamos el error de reload
end if

rem <!-- situamos el cursor en el inicio de la pagina a mostrar y
rem calculamos los valores de inicio y fin para mostrarlos en
rem las cabeceras -->

rs.absolutepage=session("pagina")
inicio=1+(session("pagina")-1)*rs.pagesize
fin=inicio+9
if fin > rs.recordcount then
fin =rs.recordcount
end if
%>
<center><h3>Paginación de registros</h3></center>
<table border="0" width="100%" bgcolor="#C0C0C0">
<tr>
<td width="50%" align="center">Registros <font color="#FF0000"><%=inicio%> </font>
al <font color="#FF0000"><%=fin%></font> de un total de
<font color="#FF0000"><%=rs.recordcount%></font></td>
<td width="50%" align="center">Página <font color="#FF0000"><%=session("pagina")%>
</font> de <font color="#FF0000"><%=rs.pagecount%></font></td>
</tr>
</table>
<br>
<table BORDER="1" CELLSPACING="0" BORDERCOLOR="#000000" CELLPADDING="2" width="100%">
<tr>
<td BGCOLOR="#C0C0C0"><b>Autor</b></td>
<td BGCOLOR="#C0C0C0"><b>Título</b></td>
<td BGCOLOR="#C0C0C0"><b>Formato</b></td>
<td BGCOLOR="#C0C0C0"><b>Duración</b></td>
</tr>


<!-- montamos el bucle para mostrar los registros -->

<%
contador=0
Do While contador < rs.pagesize and NOT rs.EOF%>


<tr>
<td><%= rs("Autor")%></td>
<td><%= rs("Título")%></td>
<td><%= rs("Formato")%></td>
<td><%= rs("Duración")%></td>
</tr>

<% rs.MoveNext
contador=contador+1
Loop
%>
</table>
<div align="center">
<center>

<!-- mostramos los botones de adelante y atras segun proceda -->

<table border="0" width="38%" height="5">
<tr><%if session("pagina")<> 1 then %>
<td width="50%" height="1" align="center">
<form method="POST" action="autor.asp">
<p><input type="submit" value="Atras" name="autor"></p>
</form>
</td><%end if%>
<%if session("pagina")< rs.pagecount then%>
<td width="50%" height="1" align="center">
<form method="POST" name="autor.asp">
<p><input type="submit" value="Adelante" name="autor"></p>
</form>
</td><%end if%>
</tr>
</table>
</center>
</div>

<!-- cerramos el recordset -->

<%rs.Close%>

</body></html>

Gracias por vuestro interés.