Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    La paginazione mi da un errore!

    Ciao a tutti!
    Come da titolo, questo è il codice:

    codice:
    <%
    		page = Request.QueryString("pagina")
    		perpage = 10
    		Set Conn = Server.CreateObject("ADODB.Connection")
    		Conn.Open(strCon)
    		id = Request.QueryString("id")
    		Set rsGb = Server.CreateObject("ADODB.Recordset")
    		SQL = "select * from TB_GB order by ID_GB desc"
    		Set rsGb = Conn.Execute(SQL)
    		if not rsGb.EOF then
    		If page = 0 then
    		page = int(rsGb.PageCount)
    		end if
    		rsGb.PageSize = perpage
    		
    		for i=1 to rsGb.pageCount
    		response.write "<a href='gb.asp?pag=" & i & ">" & i & "</a> "
    		next
    
    %>
    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="33%" class="testo"><div align="center">Firma il guestbook</div></td>
      </tr>
    </table>
    
    
    <%
    	TotRs = rsGb.RecordCount
    %>
    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="100%" class="testo"><div align="center">Ci sono <%=TotRs%> messaggi nel guestbook.</div></td>
      </tr>
    </table>
    <table width="100%" border="0" cellspacing="2" cellpadding="2">
    <%
    		rsGb.absolutePage = page
    		For i = 1 to perpage
    %>
      <tr bgcolor="#FFCC00">
        <td width="50%" class="testo">Data e ora: <%=rsGb("DATA_GB")%></td>
        <td width="50%" class="testo">Autore: "><%=rsGb("AUTORE_GB")%></td>
      </tr>
      <tr>
        <td colspan="2" class="testo"><%=rsGb("MSG_GB")%></td>
      </tr>
      <tr bgcolor="#CC3300">
        <td colspan="2" class="testo">[img]/images/pixel.gif[/img]</td>
      </tr>
    
    
    
    	<%
    		rsGb.MoveNext
    		Next
    	%>
    </table>
    <%
    else
    %>
    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="100%" class="testo"><div align="center">Non ci sono messaggi sul guestbook.</div></td>
      </tr>
    </table>
    <%
    end if
    
    For pag= 1 to rsGb.PageCount
    if page = pag then
    Response.Write "<P class='testo'>Pagine:"
    'grassetto per la pagina corrente
    Response.Write ""
    Response.Write "<A href='gb.asp?page=" & pag 
    Response.write "'>" 
    Response.Write pag 
    Response.Write "</A> " 
    Response.Write ""
    else
    'normale per le altre pagine
    Response.Write "<A href='gb.asp?page=" & pag 
    Response.write "'>" 
    Response.Write pag 
    Response.Write "</A> " 
    end if
    Next 
    
    Response.Write "</P>" 
    
    	rsGb.Close
    	Set rsGb = Nothing
    	Conn.Close
    	Set Conn = Nothing
    	
    end select
    	%>
    questo script mi da quest errore

    codice:
    ADODB.Recordset (0x800A0BB9)
    Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.
    /gb.asp, line 123
    che cosa sbaglio?
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  2. #2
    VUol dire che stai cercando di eseguire una azione su un record inesistente.

    Controlla che il recordset non sia vuoto (.EOF).

  3. #3
    No il recordset non è vuoto ed il controllo nel codice c'è!
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  4. #4
    Qualcuno può aiutarmi?
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  5. #5
    qual'è la linea che da errore?

  6. #6
    Originariamente inviato da Shryne
    No il recordset non è vuoto ed il controllo nel codice c'è!
    Non c'è o non darebbe l'errore.
    Il controllo va fatto prima di eseguire un record ad ogni ciclo.

    Se il DB ha 5 record e tu conti di paginarne 10 per volta al 6 ciclo verrà generato errore.

  7. #7
    L'errore lo da su

    rsGb.absolutepage = page

    E quindi come dovrei metterlo il controllo che non ho capito più di tanto?
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  8. #8
    hai provato a mettere page = int(Request.QueryString("pagina"))?

  9. #9
    Si ma stessa musica...
    Shryne
    --------------------------------------------------
    WebMaster di Loskabrones.net
    --------------------------------------------------

  10. #10
    metti un response.write (page) e un response.end() subito prima dell'errore

    che senso ha questa
    codice:
    If page = 0 then
    		page = int(rsGb.PageCount)
    		end if
    come fai a richiamre la proprietà pageCount se prima non setti il pagesize?

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.