Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274

    Response Buffer Limit Exceeded

    codice:
    <table border="0" width="250" id="table1" cellspacing="0" cellpadding="2">
    	<%
    conta = 0
    do while not rs.eof
    
    bgcolor = "#C0C0C0"
    if conta mod 2 <> 0 then bgcolor = "#CCCCCC"
    %>
    <tr>
    		<td bgcolor="<%=bgcolor%>" align="center" height="22">
    		<font size="1" face="Verdana" color="#FFFFFF"><%=testo%> <%=scelta%></font></td>
    	</tr>
    	<%
    conta = conta + 1
    rs.movenext
    loop
    %>
    </table>
    Questa parte di codice, su un db access di molti record 15000-20000, mi genera l'errore in oggetto.
    La sua funzione è solo quella di alternare il colore di sfondo della tabella.

    C'è una soluzione o alternativa per mantenere sempre l'alternanza di due colori?

    Grazie.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    il problema non è l'alternanza dei colori ma il tentativo di mostrare a video 20000 record!!!
    Sicuro ti serva una cosa del genere? Non puoi paginarli un tot per pagina?

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    io ne mostro solo 100 random. Senza quel pezzo di codice, i 100 record si vedono senza problemi.
    E' solo quella parte li che "blocca". E' solo una funzione grafica che però aiuta anche l'occhio.
    L'obbiettivo è quello di alternare il colore delle celle dei 100 record estratti.

  4. #4
    Hai già provato ad aggiungere dopo i response un
    Response.Clear() ? Non so se hai sbagliato a trascrivere ma non vedo l'end if !

    Cmq puoi farlo con CSS e JS...non è la stessa cosa ma questo è un esempio, ce ne sono tanti...
    http://javascript.html.it/articoli/l...ori-alternati/

    prova a cercare Alter Table Row

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    grazie mille.

    Ma ho seguito le istruzioni e non funziona. Anche l'esempio non è visibile.

  6. #6

    Response Buffer Limit Exceeded

    Quando cerchi di eseguire uno script che impegna molta memoria del server ti compare il messaggio in oggetto in quanto hai una memoria limitata messa a disposizione per eseguire script.

    se hai possibilità di mettere le mani sul server potresti aumentare il limite della memoria in utilizzo:

    Per farlo bisogna intervenire sul file metabase.xml di IIS presente generalmente in C:\WINDOWS\system32\inetsrv. È possibile modificare direttamente questo file solo dopo aver stoppato IIS oppure dopo aver spuntato la voce “Enable direct metabase edit” dalla console di Internet Information Service, finestra proprietà del server.

    Questo potrebbe incidere sulle prestazioni del server.


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    dovresti applicare l'alternaza dei colori ai tr e mettere la table fuori dal ciclo, altrimenti per ogni record hai un <table>........</table>

    io uso questo metodo

    codice:
    <%
    dim pari
    pari = false ' imposto il valore della variabile booleana
    %>
    <table border="0" width="250" id="table1" cellspacing="0" cellpadding="2">
    <%
    connessione db e creazione recordset
    ......
    do while not rs.eof
    %>
    <%
    if pari then
    %>
    <tr bgcolor="#C0C0C0">
    <%
    else
    %><tr bgcolor="#CCCCCC">
    <%
    end if
    %>
    <td align="center" height="22">
    <font size="1" face="Verdana" color="#FFFFFF"><%=testo%> <%=scelta%></font></td>
    </tr>
    <%
    pari = not pari ' inverto il valore della variabile booleana
    %>
    <%
    rs.movenext
    loop
    %>
    </table>
    Massimo

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    grazie massimo con le tue indicazioni sembra funzionare ma poi ho un altro problema:

    ADODB.Recordset error '800a0bcd'
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    /randomxxxx.asp, line 44

    rs.Move arr(i)

    Di sicuro no sono capace ad integrare i tuoi consigli.
    codice:
    <%
    dim pari
    pari = false ' imposto il valore della variabile booleana
    %>
    <table border="0" width="50%">
    			<%
    Dim Num_img_random
    Num_img_random=100
    
    strAccessDB = "/mdb-database/Archivio.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(strAccessDB)
    Conn.Open strCon
    Set rs = Server.CreateObject("ADODB.Recordset")
    query = "SELECT * FROM Archivio"
    rs.Open query,Conn,3,3
    if not rs.EOF then
    
      N = Num_img_random 'numero di record casuali da visualizzare
      Randomize
      max = rs.RecordCount-1
      redim arr(max)
      'popolo l'array da 0 al numero di record 
      for i=0 to max
    	arr(i)=i
      next
      'mischio i numeri in modo casuale
      for i=0 to max
        casuale = Int((max)*Rnd)
    	temp = arr(i)
    	arr(i) = arr(casuale)
    	arr(casuale) = temp
      next
      'visualizzo gli N record casuali
      for i=0 to N-1
        rs.Move arr(i)
        Dim images
    testo= rs("Artista")
    scelta=rs("Brano")
    do while not rs.eof
    %>
    <%
    if pari then
    %>
    <tr bgcolor="#C0C0C0">
    <%
    else
    %><tr bgcolor="#CCCCCC">
    <%
    end if
    %>
    <td align="center" height="20" width="50%"><font size="1" face="Verdana"><%=testo%></td>
    <td align="center" height="20" width="50%">
    <font size="1" face="Verdana" color="#008000"><%=scelta%></font></td>
    </tr>
    <%
    pari = not pari ' inverto il valore della variabile booleana
    %>
    <%
    rs.movenext
    loop
     
      next
    end if%>
    </table>

    Anche con i css ho visto che funziona ma avendo io una sola riga di partenza, poi le righe rimangono dello stesso colore.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    Risolto. Va alla grande!! Grazie a tutti. La soluzione adottata è stata quella di massimo!

    codice:
    <body>
    			<%
    Dim Num_img_random
    Num_img_random=100
    %>
    <%
    
    strAccessDB = "/mdb-database/Archivio.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(strAccessDB)
    Conn.Open strCon
    Set rs = Server.CreateObject("ADODB.Recordset")
    query = "SELECT * FROM Archivio"
    rs.Open query,Conn,3,3
    if not rs.EOF then
      N = Num_img_random 'numero di record casuali da visualizzare
      Randomize
      max = rs.RecordCount-1
      redim arr(max)
      'popolo l'array da 0 al numero di record 
      for i=0 to max
    	arr(i)=i
      next
      'mischio i numeri in modo casuale
      for i=0 to max
        casuale = Int((max)*Rnd)
    	temp = arr(i)
    	arr(i) = arr(casuale)
    	arr(casuale) = temp
      next
      'visualizzo gli N record casuali
      for i=0 to N-1
        rs.Move arr(i)
        Dim images
    testo= rs("Artista")
    scelta=rs("Brano")
    %>
    <div align="center">
    <table border="0" bgcolor="#FFFFFF" width="50%" id="table1" cellspacing="1">
    <%
    if pari then
    %>
    <tr bgcolor="#C0C0C0">
    <%
    else
    %><tr bgcolor="#CCCCCC">
    <%
    end if
    %>
    <td align="center" height="20" width="50%"><font size="1" face="Verdana"><%=testo%></td>
    <td align="center" height="20" width="50%">
    <font size="1" face="Verdana" color="#008000"><%=scelta%></font></td>
    </tr>
    <%
    pari = not pari ' inverto il valore della variabile booleana
    %>
    </table>
    <%
        rs.MoveFirst 
      next
    end if
    %>
    </body>

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.