Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: menu da visualizzare

  1. #1

    menu da visualizzare

    Salve,
    sto cercando di inserire della parole (che fungono da menu nel sito) da un DB. La Tabella si chiama "Menu" e la colonna con i valori (parole) si chiama "Voci"... ho fatto questo nella pagina Asp:

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%

    Dim scelta
    Dim Recordset2
    Dim Recordset2_numRows
    dim id

    codice:
    set conn = server.createObject("ADODB.Connection") 
    conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/db.mdb")  
    
    sSQL = "SELECT * FROM Menu WHERE Voci='"&Voci&"'" 
    
    set rs = conn.execute(sSQL) 
    if not rs.EOF then 
       id=(rs.Fields.Item("ID").Value) 
    end if
    %>
    e nella cella dove va la parola...

    codice:
    <a href="#" class="menu_lat"><%=(rs.Fields.Item("Voci").Value)%>
    
                      <input type="hidden" name="Menu" value="<%=(rs.Fields.Item("Voci").Value)%>"></a>

    Tutto ciò però sembra che legga dal DB ma da errore:

    codice:
    ADODB.Field error '800a0bcd' 
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 
    /sito/prova/second2_out.asp, line 205  --> <a href="#" class="menu_lat"><%=(rs.Fields.Item("Voci").Value)%>
    che faccio?

  2. #2
    questa
    codice:
    sSQL = "SELECT * FROM Menu WHERE Voci='"&Voci&"'" 
    
    set rs = conn.execute(sSQL)
    sembrerebbe non restituire record

  3. #3
    perche no?
    lo usato altre volte e mi dava risposta...

  4. #4
    Originariamente inviato da David_pop
    perche no?
    lo usato altre volte e mi dava risposta...
    e che vuoi che ti dica? l'errore non mente, rs è vuoto quindi se cerchi di stamparlo a video ti da errore...prenditela col db...
    codice:
    metti:
    
    if rs.eof then
    response.write ("recordset vuoto")
    else
    response.write ("recordset pieno")
    end if
    e vediamo che ti dice

  5. #5
    questo è vero... il db ha i dati però..

    ho fatto questo ma da errore di "Command text was not set for the command object. "

    codice:
    scelta= Request.QueryString("scelta")
    
    if scelta = "0" then 
    sSQL = "SELECT * FROM Menu WHERE Voci='"&Voci&"'" 
    response.write ("Voci")
    end if
    
    set rs = conn.execute(sSQL) 
    if not rs.EOF then 
       id=(rs.Fields.Item("ID").Value) 
    end if
    %>

  6. #6
    forse scelta non si valorizza e non ti crea la ssQl

  7. #7
    quindi dici di mettere scelta ="1"?

  8. #8
    stampa il valore di scelta e vedi che ottieni..e poi scusa, ma se scelta è <>0 mi spieghi quella sSql come dovrbebe valorizzarsi? al conn.execute che gli passi una stringa vuota?

  9. #9
    senza "scelta" da l'errore iniziale, non riesco a capire...

  10. #10
    codice:
    if scelta = "0" then 
    sSQL = "SELECT * FROM Menu WHERE Voci='"&Voci&"'" 
    response.write ("Voci")
    
    
    set rs = conn.execute(sSQL) 
    if not rs.EOF then 
       id=(rs.Fields.Item("ID").Value) 
    end if
    end if
    e poi devi controllare prima di stamparlo che il recordset non sia .eof...cmq mi sembra uno schifo sta cosa...ma che stai cercando di fare?

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.