Java ResultSet ottenere il numero di righe ritornate

Luca Bartoli

Molto spesso durante le nostre Query, in un programma scritto in java, abbiamo bisogno di sapere il numero di righe che ha ritornato la select nel nostro ResultSet.

Per sapere il numero di righe dalla documentazione ufficiale sembrerebbe sufficiente utilizzare il metodo getRow() di ResultSet come segue:

In realtà se voi provate ad utilizzare questo metodo non avrete il risultato aspettato.

Questo dipende dal fatto che quando si istanziano gli Statement si utilizzano i vari metodi senza parametri:

E’ proprio questo l’errore, utilizzando questo metodo si crea uno Statement TYPE_FORWARD_ONLY che non permette lo scorrimento dello stesso in avanti e indietro necessario per sapere il numero di righe ritornato.

Per fare questo dovremmo creare uno Statement scrollabile:

Eseguo la query:

vado all’ultima righa, operazione non permessa con il ResultSet.TYPE_FORWARD_ONLY

Ora posso scorrere il ResultSet come normalmente avrei fatto

Questa modalità può essere applicata anche al connection.prepareCall e al connection.prepareStatement 

Similar Posts:


Lascia un Commento