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

Discussione: MoveNext non va

  1. #1

    MoveNext non va

    Salve,
    il mio movenext non funge messo così:
    codice:
    <%
    cap = request.QueryString("cap")
    cap = request.form("cap")
    
    'Creo l'Ado object
    Set adoCon = Server.CreateObject("ADODB.Connection")
      
    'Apro la connessione
    adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & server.mappath("../_private/comuni.mdb") & "; Persist Security Info = False"
      
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    ' Eseguo l'azione 
    sql="SELECT * FROM COMUNI WHERE CAP =  '" & cap & "'"
    rs.Open SQL, adoCon
    
    rs.movenext
    session("cap1") = rs.fields("cap").value
    response.Write(session("cap1")) & "
    "
    
    rs.movenext
    session("cap2") = rs.fields("cap").value
    response.Write(session("cap2")) & "
    "
    
    ....
    %>
    in altre parole, desidero prelevare i 3 Cap successivi a quello indicato dall'utente.
    Mi potete aiutare a capire perchè non va?

    Grazie
    Pochi sanno, molti presumono di sapere.

  2. #2
    se è = prende SOLO quello (logica, logica...) usa >=

  3. #3
    Grazie optime,
    ma vale anche se vado indietro? O meglio se deve prendere 3 prima e 3 dopo come devo indicarglielo?

    Praticamente devo utilizzare un simbolo di copreso tra +3 e - 3 record.
    Pochi sanno, molti presumono di sapere.

  4. #4
    due query, una con >=, l'altra con <=. non puoi ovviamente mixarle

  5. #5
    Scusa Optime,

    ho fatto come hai detto e cioè così:
    codice:
    <%
    cap = request.QueryString("cap")
    cap = request.form("cap")
    
    'Creo l'Ado object
    Set adoCon = Server.CreateObject("ADODB.Connection")
      
    'Apro la connessione
    adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & server.mappath("../_private/comuni.mdb") & "; Persist Security Info = False"
      
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    ' Eseguo l'azione 
    sql="SELECT * FROM COMUNI WHERE CAP >=  '" & cap & "'  ORDER BY CAP ASC"
    rs.Open SQL, adoCon
    
    rs.movenext
    session("cap1") = rs.fields("cap").value
    response.Write(session("cap1")) & "
    "
    
    rs.movenext
    session("cap2") = rs.fields("cap").value
    response.Write(session("cap2")) & "
    "
    
    rs.movenext
    session("cap3") = rs.fields("cap").value
    response.Write(session("cap3")) & "
    "
    
    rs.movenext
    session("cap4") = rs.fields("cap").value
    response.Write(session("cap4")) & "
    "
    
    rs.movenext
    session("cap5") = rs.fields("cap").value
    response.Write(session("cap5")) & "
    "
    
    response.Write(rs.fields("cap"))
    
    rs.close
    set rs= nothing
    %>
    
    <%
    'Creo l'Ado object
    Set adoCon = Server.CreateObject("ADODB.Connection")
      
    'Apro la connessione
    adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & server.mappath("../_private/comuni.mdb") & "; Persist Security Info = False"
      
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    ' Eseguo l'azione 
    sql="SELECT * FROM COMUNI WHERE CAP >=  '" & cap & "'  ORDER BY CAP DESC"
    rs.Open SQL, adoCon
    
    rs.moveprevious
    session("cap_1") = rs.fields("cap").value
    response.Write(session("cap_1")) & "
    "
    
    rs.moveprevious
    session("cap_2") = rs.fields("cap").value
    response.Write(session("cap_2")) & "
    "
    
    rs.moveprevious
    session("cap3") = rs.fields("cap").value
    response.Write(session("cap_3")) & "
    "
    
    rs.moveprevious
    session("cap4") = rs.fields("cap").value
    response.Write(session("cap_4")) & "
    "
    
    rs.moveprevious
    session("cap5") = rs.fields("cap").value
    response.Write(session("cap_5")) & "
    "
    
    response.Write(rs.fields("cap"))
    
    rs.close
    set rs= nothing
    
    %>
    Pochi sanno, molti presumono di sapere.

  6. #6
    una <= e una >=. se poi giochi con le TOP prendi esattamente quanto ti serve

  7. #7
    Scusa optime, ma che significa due SQL con <= e >= .. non è così come ho postato?

    Per non sbagliare ne ho fatte due separate, come vedi, però ho l'errore su
    rs.moveprevious
    Pochi sanno, molti presumono di sapere.

  8. #8

  9. #9
    Mmmh.. effettivamente ...
    ma l'ho modificata, ma non è quello che mi genera questo errore:

    ADODB.Recordset (0x800A0C93)
    Operazione non consentita nel contesto corrente.

    Pochi sanno, molti presumono di sapere.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    per usare moveprevious devi aprire la connessione con un cursore che ti consenta di andare all'indietro; se non ricordo male quello di default non lo consente

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.