Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Cursore di scorrimento

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268

    Cursore di scorrimento

    per verificare se un dato è presente in tabella del db utilizzo questo codice

    codice:
      if (!con.isClosed()) {
                        Statement cmd = con.createStatement();
                       
                        ResultSet rs1 = cmd.executeQuery(sql);
                        
                        rs1.first();
                         if(rs1.getString(1).length()>0){
                             trovato = true;
                         }
                            
                    }
    però quando passo dal comando rs1.first(); mi dà errore dicendo che il cursore non è di scorrimento.
    che devo fare?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da X-mac Visualizza il messaggio
    però quando passo dal comando rs1.first(); mi dà errore dicendo che il cursore non è di scorrimento.
    che devo fare?
    first() (e altri di "navigazione" nel result set) non funziona per i result set di tipo TYPE_FORWARD_ONLY (lo dice chiaramente la documentazione javadoc). Vedi gli altri createStatement di Connection, quelli che hanno il parametro int resultSetType.

    Ma poi, comunque, ti serve davvero first()? Penso di no. Fai next(), se true allora almeno un record ce l'hai di sicuro.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    ma io non ho dettato nessun tipo x il resultset

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da X-mac Visualizza il messaggio
    ma io non ho dettato nessun tipo x il resultset
    Appunto ... se usi il createStatement() (quello senza argomenti), per default lo Statement è solo in grado di fornire ResultSet di tipo "forward" (puoi solo andare avanti con next() ). Se vuoi poter ottenere ResultSet di un altro tipo, devi chiederlo espressamente (e se il tipo è supportato, potrebbe non esserlo).

    Ma ripeto il mio dubbio espresso prima: ti serve davvero first() ? Direi di no.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    si ho modificato il metodo come mi hai suggerito, volevo capire come funziona il RecordSet.
    grazie

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.