Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    100

    Il set di record corrente non supporta i segnalibri

    Sto cercando di impostare un pagina che contenga 5 record di un db con la possibilità di cliccare su pagina precedente e successiva.
    Adesso la pagina mi restituisce questo messaggio di errore:

    Il set di record corrente non supporta i segnalibri. Potrebbe trattarsi di una limitazione del provider o del tipo di cursore selezionato.
    riga 48

    Questa è la riga 48:
    rs.AbsolutePage = pag;

    Qualcuno mi dà qualche suggerimento


    <%@LANGUAGE="JSCRIPT"%>
    <%
    var tipoquery = String(Request.QueryString("tipoquery"));
    var campo1 = String(Request.Form("campo1"));
    var valorecampo1 = Request.Form("valorecampo1");
    var campo2 = String(Request.Form("campo2"));
    var valorecampo2 = Request.Form("valorecampo2");
    var valorecampo3 = Request.Form("valorecampo3");
    var valorecampo4 = Request.Form("valorecampo4");
    var valorecampo5 = Request.Form("valorecampo5");

    var Cn = new ActiveXObject("ADODB.Connection");
    var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("estero.mdb");
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <body>
    </head>
    <%
    if(tipoquery == "q1"){%>
    </div></td>
    </tr><tr><td class="testo_pagina"><table border="1">
    <tr>
    <td>ragionesociale</td>
    </tr>
    <%
    conn = Server.CreateObject("ADODB.Connection");
    sdc = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath("estero.mdb")
    sql = "SELECT * FROM tbl_estero WHERE " + campo1 + " LIKE '" + valorecampo1 + "%'"
    conn.Open(sdc)
    var rs = new ActiveXObject("ADODB.Recordset");
    rs = conn.Execute(sql)

    var pag = parseInt(Request.QueryString("id"));
    if (isNaN(pag) || pag < 1) pag = 1;

    if (!rs.EOF) {
    rs.PageSize = 5;
    rs.AbsolutePage = pag;
    }
    var i = 0;

    while (!rs.EOF && i<5)
    { %>
    <tr>
    <td><%= rs("ragionesociale") %></td>
    </tr>
    <%
    i++;
    rs.MoveNext();
    }
    %>
    </table>
    <table width="516">
    <tr>
    <table width="516">
    <tr>
    <td width="50%">
    <%if (pag > 1) {%>
    Pagina precedente
    <%}%>
    <%else {%>
    Pagina precedente
    <%}%>
    <td>
    <td width="50%" >
    <%if (!rs.EOF) {%>
    Pagina successiva
    <%}%>
    <%else {%>
    Pagina successiva
    <%}%>
    </td>
    </tr>
    </table>
    <%Cn.Close();
    };
    rs.Close();
    conn.Close(); %>

    </body>
    </html>
    frappy66

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Si è parlato molto oggi di paginazione.
    Ti do un link: http://forum.html.it/forum/showthrea...hreadid=719374

    Nel caso specifico non devi aprire il recordset con la Execute.

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    100
    Sì l'avevo visto, il mio problema è che uso JScript.
    Il tuo script sono riuscita ad usarlo e funziona alla grande ma non riesco a riadattare la mia query in Jscript in una in Vbscript. Sono riuscita ad usare il tuo script visualizzando semplicemente il mio intero db, quando però cerco di tradurre la mia sql in Jscript, sono in alto mare.
    Scusate se sono così imbranata..
    frappy66

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Il problema non è la SQL ma questa riga:

    rs = conn.Execute(sql)

    Devi scriverla come nel mio esempio.

    Roby

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.