Visualizzazione dei risultati da 1 a 3 su 3

Discussione: movenext

  1. #1

    movenext

    Ciao a tutti

    ho questo problema, apro una select su un record e leggo i dati del record poi vorrei sapere il valore del campo "modello" del record precedente e successivo a quell aperto.

    pensavo di usare questo codice

    <%
    Set rs = Server.CreateObject("ADODB.RECORDSET")
    sql = "SELECT * FROM CATALOGUE where modello='pla404'"
    rs.Open sql, connessione, 3, 1

    MODELLO=rs("MODELLO")

    rs.MoveNext

    MODELLO_N=rs("MODELLO")

    %>

    SE METTO LA CONDIZIONE WHERE con il nome di un modello non funziona mi va in EoF mentre se la tolgo e faccio la select senza where funziona benissimo come posso fare?

    Lo dico subito non ho un campo id contatore e non posso inserirlo perchè se no il gioco era semplice....
    altro dubbio con il movenext e il moveprevius quando arrivo all'ultimo e al primo record cosa succede?


  2. #2

    Prova



    <%
    'Stringa per la connessione
    cString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/percorso-cartella/database.mdb")

    'creazione connessione
    Set objConn=Server.CreateObject("ADODB.Connection")

    'apertura connessione
    objConn.Open cString

    'creazione recordset
    Set rs = Server.CreateObject("ADODB.Recordset")

    CATALOGUE="CATALOGUE" ' inserisci qui il nome della tabella da vedere

    'query sql
    sql = "select * from "&CATALOGUE&""

    'apertura recordset
    rs.Open sql, objConn, 3, 3

    if rs.eof then 'se il recordset è vuoto.....

    %>

    %>
    <%
    else 'se invece il recordset contiene dei dati.....
    %>
    <
    <%
    For Each campo in rs.Fields ' per ogni campo presente nel database ....
    %>
    <%
    Next
    %>
    </tr>
    <%
    do until rs.eof ' per tutti i records ...
    For Each campo in rs.Fields '... scrivo di ogni campo ...
    %>
    <%
    next
    %>
    </tr>
    <%
    rs.movenext
    loop
    %>
    <%
    end if

    'chiusura e distruzione recordset
    rs.close
    set rs=nothing

    'chiusura e distruzione connessione
    objConn.close
    set objconn=nothing
    %>



  3. #3
    Il recordset che ottieni è un estratto della tabella del db. Se il recordset contiene un solo record perchp la query ne estrae solo 1 visto che per quel determinato modello hai 1 solo record, è ovvio che col moveNext ti va in errore perchè oltre al primo dato non hai nulla. Non c'è il next.
    Per fare quello che dici tu devi selezionare l'intero recordset della tabella del db e con un ciclo ed una IF dentro al ciclo verifichi se modello è uguale al tuo parametro. Se lo è allora leggi il dato, fai il moveNext, leggi il dato del next e quindi con un bel exit do esci dal ciclo (o exit while, a seconda del tipo di ciclo).

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.