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

Problema con paginacion

Estas en el tema de Problema con paginacion en el foro de ASP Clásico en Foros del Web. Os voy a plantear un problema que tengo y me esta volviendo loco, decir que ya he leido varios post a traves de buscar, pero ...
  #1 (permalink)  
Antiguo 20/09/2006, 04:34
Avatar de bossm4  
Fecha de Ingreso: noviembre-2005
Ubicación: Torrelodones, España
Mensajes: 92
Antigüedad: 18 años, 7 meses
Puntos: 0
Problema con paginacion

Os voy a plantear un problema que tengo y me esta volviendo loco, decir que ya he leido varios post a traves de buscar, pero no he encontrado respuesta.

El codigo que utilizo es este:
Código PHP:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--
#include file=".\includes\conexion_bbdd.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
title>Inmobiliaria</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
link href="css_inmo.css" rel="stylesheet" type="text/css">
<
script language="javascript">function enviar_buscador() {document.buscador.submit();}    function enviar_login() {window.open("login.asp","detalle","width=200,height=100,scrollbars=no");}</script>
</head>

<%

regimen = request.Form("regimen")
tipo = request.Form("tipo")
provincias = request.Form("provincia")
coste = request.Form("precio")
coste = Clng(coste)


consulta = "SELECT * FROM t_inmuebles WHERE(regimen = '" & regimen & "') AND (tipo = '" & tipo & "') AND (provincia = '" & provincias & "') AND (precio < '" & coste & "') ORDER BY id DESC"

%>

<body>
<div id="madre">
    <div id="cabecera">
      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="750" height="190">
        <param name="movie" value="images/cabecera.swf">
        <param name="quality" value="high">
        <embed src="images/cabecera.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="750" height="190"></embed>
      </object>
    </div>
    <div id="botonera">
        <div id="margen_izq"></div>
        <div id="boton_activo"><p class="text_bot"><a href="#" class="bot">Inicio</a></p></div>
        <div id="boton_post"><p class="text_bot"><a href="compania.asp" class="bot">La compañia</a></p></div>
        <div id="boton"><p class="text_bot"><a href="asesoria.asp" class="bot">Asesor&iacute;a</a></p></div>
        <div id="boton"><p class="text_bot"><a href="financiacion.asp" class="bot">Financiaci&oacute;n</a></p></div>
        <div id="boton"><p class="text_bot"><a href="contacto.asp" class="bot">Contacto</a></p></div>
        <div id="margen_der"></div>
    </div>
    <div id="cuerpo">
        <div id="contenedor">
            <div id="central">
                <p class="txt_titulo">
                <%
                'actualizamos numero de pagina
                If Request.QueryString("pag")<>"" then
                    pagina=Request.QueryString("pag")
                Else
                    pagina=1
                End If

                'constantes ADO VBScript
                Const adCmdText = &H0001
                Const adOpenStatic = 3

                Set Command = Server.CreateObject("ADODB.Command")
                Set datos =Server.CreateObject("ADODB.RecordSet")
                datos.Open consulta,Conexion,adopenstatic,adcmdtext

                'resultados por pagina a elegir arbitrariamente
                num_registros = 2

                'Dimensionamos las paginas y determinamos la pagina actual
                datos.PageSize=num_registros
                datos.AbsolutePage=pagina
                %>

                <%
                'Contamos el numero de campos de la tabla
                num_campos=datos.Fields.Count 
                For campo=0 to num_campos-1%>
        
                <%
                Next
                registros_mostrados = 0
                While (Not datos.eof And registros_mostrados < num_registros)
                registros_mostrados = registros_mostrados +1
                
                precio = datos("precio")
                foto = datos("foto1")
                descripcion = datos("descripcion")
                provincia_2 = datos("provincia")
                titulo = datos("titulo")
                    i = 0
                    Maximo = 60 
                    If len ( descripcion ) > Maximo Then
                    descripcion2 = Split ( descripcion, " " )
                    descripcion = ""
                    Do While len ( descripcion ) + len ( descripcion2 ( i ) ) < Maximo
                       descripcion = descripcion & " " & descripcion2 ( i )
                       i = i + 1
                    Loop
                    End if
                response.write "<table width=60% cellpadding=3 cellspacing=0 class=tabla_anuncio>"                
                response.write "<tr><td width=20% rowspan=3><img class=image width=80px heigth=70px src=./imagenes/"& foto &"></td><td width=60% ><p class=txt_titulo>"& titulo &"</p></td><td width=20% ><p class=txt_precio>"& precio &" &euro;</td></tr>"
                response.write "<tr><td colspan=2><p class=txt_descripcion>"& descripcion &"</p></td></tr>"
                response.write "<tr><td><p class=txt_descripcion>"& provincia &"</p></td><td><a href=# class=bot_form>+ info</a></td></tr>"
                response.write "</table>"

                %> 

                <%For campo=0 to num_campos-1 %>

                <%Next%>

                <%
                datos.MoveNext
                Wend
                %>

                <%
                i=0
                While i<datos.PageCount 
                i=i+1
                %>
                 <b><a href="buscador.asp?pag=<%=i%>"><%=i%></a></b>
                <%
                Wend
                %>

                <%
                datos.Close
                Conexion.Close
                %>
                </p>
            </div>
        </div>
    </div>
    <div id="pie">
    </div>    
</div>
</body>
</html> 
Y la primera pagina funciona perfectamente. el caso es que al darle a la segunda y sucesivas me salta el error...

Tipo de error:
ADODB.Recordset (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/inmo/buscador.asp, line 68


La linea 68 es:

Código PHP:
datos.AbsolutePage=pagina 


El caso es que si en la consulta quito el WHERE me funciona perfectamente, a ver si me podeis echar una manita ¿vale?
__________________
Madrid - Zaragoza - Sevilla | www.hucaconsulting.es | Desarrollo gráfico y web a medida
  #2 (permalink)  
Antiguo 20/09/2006, 05:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 19 años, 7 meses
Puntos: 0
Buenas.

En lugar de:
Código:
pagina=Request.QueryString("pag")
Pon esto:
Código:
pagina = CLng(Request.QueryString("pag").Item)
Así a bote pronto es lo primero que veo, pero si veo otra cosa te digo.

Un saludo
  #3 (permalink)  
Antiguo 20/09/2006, 05:34
Avatar de bossm4  
Fecha de Ingreso: noviembre-2005
Ubicación: Torrelodones, España
Mensajes: 92
Antigüedad: 18 años, 7 meses
Puntos: 0
Solucionado!!! eres un crack jejeje no se cuanto hubiese tardado en encontrar eso :P jejej


MUCHISIMAS GRACIAS!!!
__________________
Madrid - Zaragoza - Sevilla | www.hucaconsulting.es | Desarrollo gráfico y web a medida
  #4 (permalink)  
Antiguo 20/09/2006, 06:03
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 19 años, 7 meses
Puntos: 0
De nada, me alegro :P
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 02:15.