Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    contare le righe di un ResultSet

    Allora mi serve un metodo per calcolare le righe di un ResultSet, questo metodo funziona bene:
    codice:
        public int rowCount(ResultSet r) throws SQLException {
            r.last();
            int rc = r.getRow();
            r.beforeFirst();
            return rc;
        }
    Funziona bene ma, per lui se il ResultSet è vuoto, o se il ResultSet contiene una riga è uguale è restituirà sempre 1, come posso risolvere questa cosa è fare in modo che se il rs è vuoto mi ritorni 0????

  2. #2
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119

    Re: contare le righe di un ResultSet

    Originariamente inviato da Metallica
    Allora mi serve un metodo per calcolare le righe di un ResultSet, questo metodo funziona bene:
    codice:
        public int rowCount(ResultSet r) throws SQLException {
            r.last();
            int rc = r.getRow();
            r.beforeFirst();
            return rc;
        }
    Funziona bene ma, per lui se il ResultSet è vuoto, o se il ResultSet contiene una riga è uguale è restituirà sempre 1, come posso risolvere questa cosa è fare in modo che se il rs è vuoto mi ritorni 0????
    Se r.first e/o r.last restituiscono false significa che il result set e' vuoto e quindi restituisci 0.
    Basta controllare il valore restituito dai metodi invocati.
    Cosa sempre buona e giusta...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    infatti avevo modificato il tutto con:
    codice:
        public int rowCount(ResultSet r) throws SQLException {
            int rc;
            if(r.last()==false) {
                rc = 0;
            } else {
                r.last();
                rc = r.getRow();
                r.beforeFirst();
            }
            return rc;
        }
    ma o sbaglio nel controllo dei booleani o c'è qualcosa di arcano, perchè nn cambia niente.

  4. #4
    ti basta controllare se r.next() restituisce false... in questo caso non ci sono righe.
    Al mio segnale... scatenate l'inferno!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Originariamente inviato da R@ve M@ster
    ti basta controllare se r.next() restituisce false... in questo caso non ci sono righe.
    e come??? Scusa ma perchè così come l'ho scritto non funziona? Dovrebbe andare a logica...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    per favore aiutatemi

  7. #7
    basta sostiture la condizione:

    codice:
    if(r.next()){
       r.last();
       rc = r.getRow());
       r.beforeFirst();
    }else{
       rc=0;
    }
    oppure se vuoi mantenere il tuo codice:

    codice:
    if(!r.last()) {
      rc = 0;
    } else {
      r.last();
      rc = r.getRow();
      r.beforeFirst();
    }
    Al mio segnale... scatenate l'inferno!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Originariamente inviato da R@ve M@ster
    basta sostiture la condizione:

    codice:
    if(r.next()){
       r.last();
       rc = r.getRow());
       r.beforeFirst();
    }else{
       rc=0;
    }
    oppure se vuoi mantenere il tuo codice:

    codice:
    if(!r.last()) {
      rc = 0;
    } else {
      r.last();
      rc = r.getRow();
      r.beforeFirst();
    }
    Neanche così

  9. #9
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Ma porca tro** !!


    public int getRow()
    throws SQLException

    Retrieves the current row number. The first row is number 1, the second number 2, and so on.

    Returns:
    the current row number; 0 if there is no current row
    Throws:
    SQLException - if a database access error occurs
    Since:
    1.2
    Percio' dovrebbe andare anche cosi':
    codice:
    public...
    {
    
    r.last();
    return r.getRow();
    }
    Se non va mi taglio le pal** ma se va... te le tagli tu !

  10. #10
    Originariamente inviato da Metallica
    Neanche così
    Allora mi sa che il problema è un altro... perchè a me funziona perfettamente in entrambi i casi
    Al mio segnale... scatenate l'inferno!

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.