Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    problema con if else etc

    Salve a tutti...
    ki mi può aiutare??? :-)
    in questa pagina voglio far comparire delle foto... piccole... e quando vengono clikkate si ingrandiscono...

    nella pagina non mi dà nessun errore... semplicemente mi fà vedere tutto fino al primo rs.Close

    sono 3 giorni ke ci sbatto la testa... sarà si sikuro una stupidata... però io non capisco quale!
    Se potete aiutatemi grazie!!



    codice:
    <%dim conn,rs
    set conn = server.CreateObject("ADODB.connection")
    conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/mdb-database/foto.mdb")
    set rs = server.CreateObject("ADODB.recordset")
    %>
    <%dim a,azione
    a = Request.QueryString("id")
    azione = Request.QueryString("azione")
    if a = "" thenrs.Open "SELECT * FROM foto1" , conn,3,3
    %>
    <TABLE style="WIDTH: 180px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <%do while not rs.EOF%>
    <td>&azione=apri">[img]<%=rs([/img]">
    <p align=center><font color=red><%=rs.Fields("nomi").Value%></font></p></td>
    <%
    rs.MoveNext
    loop
    else
    %>
    <%if azione = "apri" then%>
    <%rs.Open "SELECT * FROM foto1 WHERE ID=" & cint(a) , conn%>
    <td>[img]<%=rs([/img]"></td>
    </tr>
    </table>
    
    
    
    
    
    
    <%End If%>
    <%rs.Close%>
    <%rs.Open "SELECT * FROM kombat" , conn,3,3%>
    <TABLE style="WIDTH: 130px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <td><p align=center><font color=red><%=rs.Fields("nome").Value%>
    
    [img]<%=rs([/img]"></font></p></td>
    </tr>
    </table>
    
    
    
    
    
    
    <P align=center><FONT color=red size=6>... Durante il Lungo Tragitto ...</FONT></P>
    
    
    
    
    <%rs.Close%>
    <%rs.Open "SELECT * FROM davi" , conn,3,3%>
    <%do while not rs.EOF%>
    <TABLE style="WIDTH: 160px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <td><p align=center><font color=red size=5><%=rs.Fields("nome").Value%>
    
    &azione=apridavi">[img]<%=rs([/img]"></font></p></td>
    </tr><tr><td>
    </td></tr>
    <%rs.MoveNext
    loop%>
    <%if azione = "apridavi" then%>
    <%rs.Open "SELECT * FROM davi WHERE ID=" & cint(a) , conn%>
    <tr>
    <td>[img]<%=rs([/img]"></td>
    </tr>
    </table>
    
    
    
    
    <P align=center><FONT color=red size=6>... E Finalmente Si Arriva ...</FONT></P>
    
    
    <%rs.Close%>
    <%rs.Open "SELECT * FROM scritta" , conn,3,3%>
    <TABLE style="WIDTH: 130px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <td>[img]<%=rs([/img]"></font></p></td>
    </tr>
    </table>
    
    
    
    
    <P align=center><FONT color=red size=5>... Kontinua ...</FONT></P>
    <p align=center></p>
    <%End If%>
    <%End If%>
    </body>
    </HTML>

  2. #2
    Ciao da quel che ho visto il problema è proprio il fatto che tu invochi rs.close cioè non lo svuotamento del recordset per poi riempirlo con i record di una nuova query ,ma proprio la chiusura dell'oggetto che quindi dopo non esiste più .

    Quindi quando chiami una rs.open conn, ecc.ecc. in realtà chiami un oggetto che è già stato cancellato quindi dovresti instanziare un nuovo oggetto che siama sempre rs.in pratica aggiungere

    set rs = server.CreateObject("ADODB.recordset")
    dopo ogni rs.close tranne l'ultimo .

    Quello che volevi far tu era svuotare il recordset per riempirlo nuovamento con dati diversi (nuova query) questo si ottiene non invocando il rs.close ma con

    set rs = Nothing

    codice che svuota il recordset ma mantiene attivo l'oggetto che hai creato.

    Per cui cambia tutte le righe rs.close (tranne l'ultimo se proprio vuoi eliminare l'oggetto )con set rs = Nothing e vedrai che funzionerà.

    In pratica con set rs=nothing svuoti il barattolo che contiene i tuoi dati e puoi continuare a usare il barattolo con nuovi dati ,con rs.close butti via dati e barattolo e non lo puoi riutilizzare.

    Ciao

    P.S.: scusa mi sono un pò dilungato ma volevo farti capire la logica del problema e della sua soluzione oltre che darti il codice corretto .

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    if...
    rs.open...
    rs.close
    end if


    Questa in linea generale la struttura, tu l'hai mischiata.

    Roby

  4. #4
    Innanzi tutto grazie mille! :-)
    però non mi funziona... ho provato a mettere
    al posto del "rs.Close" "set rs=Nothing"
    ma non funzionava...
    così ho inserito
    set rs = server.CreateObject("ADODB.recordset")
    dopo il "set rs=Nothing"
    bene ora appena apro la pagina si vede solo fino al primo
    "rs.MoveNext
    loop
    else"
    poi nada...
    però se io clikko sulla foto... me la apre e mi fà vedere tutta la pagina!!!
    praticamente se
    "<%if azione = "apri" then%>"
    risulta vero mi apre la foto e continua a farmi vedere tutto il codice sotto... mentre si dovrebbe fermare all'"<%End If%>"!
    veramente... non sò + dove sbattere la testa!
    Se riuscite ad aiutarmi mi fareste un favore!!
    Grazie mille in anticipo!!


    <%
    dim conn,rs
    set conn = server.CreateObject("ADODB.connection")
    conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/mdb-database/foto.mdb")
    set rs = server.CreateObject("ADODB.recordset")
    %>
    <%
    dim a,azione
    a = Request.QueryString("id")
    azione = Request.QueryString("azione")
    if a = "" then
    rs.Open "SELECT * FROM foto1" , conn,3,3
    %>
    <body bgColor="black" Link="black" aLink="black" vLink="black">
    <P align=center><FONT color=red size=7>Centro Sociale "Tempo
    Rosso"</FONT></P>
    <P align=center><FONT color=#ff0000 size=7></FONT></P>
    <P align=center><FONT color=red size=6>E ke il viaggio abbia inizio ...</FONT></P>
    <TABLE style="WIDTH: 180px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180
    border=0 align=center>
    <tr>

    <%do while not rs.EOF%>

    <td>&azione=apri">[img]<%=rs([/img]">
    <p align=center><font color=red><%=rs.Fields("nomi").Value%></font></p></td>

    <%
    rs.MoveNext
    loop
    else
    %>

    <%if azione = "apri" then%>
    <%rs.Open "SELECT * FROM foto1 WHERE ID=" & cint(a) , conn%>
    <td>[img]<%=rs([/img]"></td>
    </tr>
    </table>







    <%set rs=Nothing%>

    <%End If%>

    <%
    set rs = server.CreateObject("ADODB.recordset")
    rs.Open "SELECT * FROM kombat" , conn,3,3
    %>
    <TABLE style="WIDTH: 130px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <td><p align=center><font color=red><%=rs.Fields("nome").Value%>

    [img]<%=rs([/img]"></font></p></td>
    </tr>
    </table>






    <P align=center><FONT color=red size=6>... Durante il Lungo Tragitto ...</FONT></P>





    <%set rs=Nothing%>

    <%
    set rs = server.CreateObject("ADODB.recordset")
    rs.Open "SELECT * FROM davi" , conn,3,3
    %>

    <%do while not rs.EOF%>
    <TABLE style="WIDTH: 160px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <td><p align=center><font color=red size=5><%=rs.Fields("nome").Value%>


    &azione=apridavi">[img]<%=rs([/img]"></font></p></td>
    </tr><tr><td>
    </td></tr>

    <%
    rs.MoveNext
    loop
    %>

    <%if azione = "apridavi" then%>
    <%rs.Open "SELECT * FROM davi WHERE ID=" & cint(a) , conn%>
    <tr>
    <td>[img]<%=rs([/img]"></td>
    </tr>
    </table>

    <%set rs=Nothing%>

    <%End If%>

    <%
    set rs = server.CreateObject("ADODB.recordset")
    rs.Open "SELECT * FROM scritta" , conn,3,3
    %>

    <TABLE style="WIDTH: 130px; HEIGHT: 142px" cellSpacing=1 cellPadding=1 width=180 border=0 align=center>
    <tr>
    <td>[img]<%=rs([/img]"></font></p></td>
    </tr>
    </table>




    <P align=center><FONT color=red size=5>... Kontinua ...</FONT></P>
    <p align=center></p>

    <%End If%>

  5. #5

    HELP ME!!!! X Favore!!!

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.