Visualizzazione dei risultati da 1 a 8 su 8

Discussione: da db a tabella

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274

    da db a tabella

    Questo è il
    codice:
    <%
    dim strCode
    strCode="innovatel"
    dim intVolta
    intVolta="0"
    
    ' Mappaggio del database
    set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("database.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    
    ' Stringa di interrogazione sulla tabella
    Dim Giorno
    Giorno = RIGHT("00" & Day(Date()), 2)
    sql = "SELECT * FROM Pronostici WHERE Film='Horror'"  & " AND Data='" & Giorno & "'"
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    
    do while not(rs.eof)
    if intVolta="1" then
    intVolta="0"
    
    else
    intVolta="1"
    
    end if
    %>
    
      <tr>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(2)%></td>
        <td width="20%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(3)%></td>
        <td width="55%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(4)%></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(5)%></td>
        <td width="10%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(6)%></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(8)%></td>
      </tr>
            <%
    rs.movenext
    loop
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
      <tr>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="20%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="55%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="10%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(7)%></td>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(9)%>td>
      </tr>
    
    </table>
    Per la prima riga <tr> va tutto bene, si riesce cioè a visualizzare i campi desiderati.
    Il problema sorge quando, come nel codice postato, vorrei far apparire rs7 e rs9 nella riga desiderata.
    Il problema riscontrato è che quella riga non si vede proprio.

  2. #2
    Ma se chiudi prima la connessione, come puoi poi vedere il recordset?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    Mettendolo dopo, mi fa un riga si e una no.

    Chiarisco:

    la tabella html ha tre righe
    la prima che non serve
    la seconda Bianca(dove nello script ci sono più rs) che dovrebbe contenere un numero.
    la terza Rosa che dovrebbe contenere la somma dei valori delle righe bianche.

    e non riesco a farlo.

  4. #4
    Premesso che non riesco a vedere dove tu apra il tag <table> che dovrebbe essere aperto prima del primo <tr>, hai anche omesso l'apertura del tag </td> nella riga:
    codice:
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(9)%>td> 
      </tr>
    e comunque se vuoi leggere i recordset 7 e 9 devi avere la connessione al db aperta.
    Comunque cerca di spiegare meglio quello che vuoi fare.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    Si avevo visto, ma non dipende da quello l'errore.
    cmq posto il codice
    codice:
    <table>
        
      <%
    ' Mappaggio del database
    set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("/mdb-database/database.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    
    ' Stringa di interrogazione sulla tabella
    Dim Giorno
    Giorno = RIGHT("00" & Day(Date()), 2)
    sql = "SELECT * FROM Programmi WHERE Film='Horror'"  & " AND Data='" & Giorno & "'"
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    
    do while not(rs.eof)
    %>
    
      <tr>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(2)%></td>
        <td width="30%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(3)%></td>
        <td width="35%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(4)%></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(5)%></td>
        <td width="10%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(6)%></td>
        <td width="15%" height="18" align="center" bgcolor="#FFFFFF"></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"></td>
      </tr>
    <%
      rs.movenext
      loop
      %>
        <tr>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="30%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="35%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="10%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="15%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(7)%></td>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(9)%></td>
      </tr>
      <%
      rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    </table>
    così com'è il codice mostra i risultati solo qui:
    codice:
    <tr>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(2)%></td>
        <td width="30%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(3)%></td>
        <td width="35%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(4)%></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(5)%></td>
        <td width="10%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(6)%></td>
        <td width="15%" height="18" align="center" bgcolor="#FFFFFF"></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"></td>
      </tr>
    creando una riga per ogni dato che trova. E va bene.

    Invece dove c'è il codice <%=rs(7)%> mi da questo errore:
    ADODB.Field error '80020009'

    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    /pagina.asp, line 0

  6. #6
    perché hai messo quel pezzo di codice FUORI dal ciclo di lettura (do...rs.movenext...loop). ecco perché

  7. #7
    Utente di HTML.it L'avatar di Caimar
    Registrato dal
    Oct 2007
    Messaggi
    47
    Scusate una domanda da neofita quale sono....

    Cosa vuole dire strCode="innovatel" che me lo sono trovato anche nel corso di HTML.IT ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    274
    codice:
    <table>
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    
    
    
     do while not(rs.eof)
    
    %>
    
      <tr1>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(2)%></td>
        <td width="30%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(3)%></td>
        <td width="35%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(4)%></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(5)%></td>
        <td width="10%" height="18" align="center" bgcolor="#FFFFFF"><%=rs(6)%></td>
        <td width="15%" height="18" align="center" bgcolor="#FFFFFF"></td>
        <td width="5%" height="18" align="center" bgcolor="#FFFFFF"></td>
      </tr1>
    
      <tr>
          <%
     rs.movenext
     loop 
      rs.movelast 
     %>
    <tr2>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="30%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="35%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="10%" height="19" align="center" bgcolor="#FFCCFF"></td>
        <td width="15%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(7)%></td>
        <td width="5%" height="19" align="center" bgcolor="#FFCCFF"><%=rs(8)%></td>
    
      </tr2>
       <%
     
    
    
     rs.Close
    set rs = Nothing
    conn.Close
    
    set conn = Nothing
      %>
    </table>
    in questo modo il codice genera tanti <tr1> per quanti rs trova.
    ed idem per i <tr2>

    l'unico problema è che genera anche un <tr1> vuoto, prima di generare il <tr2>

    come posso correggere??

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.