Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [JSP] Ricerca

  1. #1
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418

    [JSP] Ricerca

    Come si fa in JSP a fare una struttura di questo tipo?
    Quello che a me interessa è in grassetto.

    <%
    SQL = "SELECT * FROM tab1 WHERE ID = " & Request.QueryString("ID")

    set rs = Server.CreateObject( "ADODB.Recordset" )

    set rs=conn.execute(sql)

    if rs.eof then
    response.write "Dati non trovati"
    else
    while not rs.eof
    response.write "Ciao"
    <%
    rs.movenext
    wend

    end if
    rs.close
    set rs=nothing
    %>

  2. #2
    devi fare un controllo su rs.next()
    se questo è false vuol dire che non ci sono risultati

  3. #3
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    come faccio?

    così non credo che funzioni?

    if(rs.next()== null || rs.next().equals("")) {

    out.print("Non si sono risultati");
    }else {

    out.print (rs.getString(1));
    }

  4. #4
    rs.next() restituisce un boolean quindi

    codice:
    if(!rs.next())
    {
      out.println("non ci sono risultati");
    }
    else
    {
      out.println(rs.getString(1));
    }
    dovrebbe funzionare...almeno credo

  5. #5
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Si, ok funziona!
    Grazie mille!

  6. #6
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Però così mi tira fuori i risultati uno alla volta, se io ometto la condizione if e inserisco il ciclo while allora ok, altrimenti niente!

    Come posso utilizzare la condizione if (quella che tu mi hai detto) con un ciclo while?

    È possibile?


    grazie

  7. #7
    rs.next() è un boolean che indica se la query che hai fatto ha prodotto un risultato
    potresti fare

    codice:
    while(rs.next())
    {
      //fai qualcosa
    }
    ma non penso intendessi questo...o no?

  8. #8
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    no infatti quello che hai scritto e ok, solo che io voglio che mantenga sempre la condizione if cioè se non ci sono record scrivi non ci sono risultati

  9. #9
    allora potresti usare un do-while, in questo modo puoi mantenere la condizione if...
    se fai rs.next() infatti il "cursore" che legge i dati si posiziona sul primo campo, facendo un ciclo while con rs.next() come condizione lo fai spostare di un'altra posizione, perdendoti quindi il primo valore (sono stato un po' incasinato lo so)
    comunque, un possibile esempio potrebbe essere:

    codice:
    if(!rs.next())
    {
      out.println("Non ci sono risultati");
    }
    else
    {
      do{
        out.println(rs.getString(1));
      }while(rs.next());
    }
    questo non l'ho mai usato ma, sempre a livello teorico, dovrebbe funzionare

  10. #10
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Ok funziona, grazie mille.... di nuovo!

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.