PDA

View Full Version : [JDBC] Numero di righe nel ResultSet


andbin
06-03-2006, 14:33
Sto iniziando ad usare JDBC (con db MySQL). C'è una cosa che non ho capito: come ottenere il numero di righe in un ResultSet.
In PHP in genere faccio una cosa del genere:
...
$result = mysql_query("SELECT ....", $link);
if ($result !== FALSE)
{
$num_rows = mysql_num_rows($result);
....
}

In Java si usa:
...
Statement stmt = conn.createStatement ();
ResultSet rs = stmt.executeQuery ("SELECT ....");
Ma non ho trovato alcun metodo per sapere il numero di righe nel ResultSet. Ho visto male io o proprio non è possibile? :stordita:

sottovento
06-03-2006, 15:29
Non hai visto male. Il driver standard non lo permette.

Usando i metadati potresti ottenere altre informazioni quali, numero nome e tipo delle colonne, ... ma quell'informazione non la puoi ottenere.

Beh, poco male: se vuoi caricare tutte le righe in memoria, puoi usare classi quali Vector, ....
Ricorda che puoi avere i cursori scorrevoli, per cui potresti posizionarti sull'ultimo record e sapere quanti sono senza leggerli tutti.

High Flying
Sottovento

andbin
06-03-2006, 16:35
Non hai visto male. Il driver standard non lo permette.Ah ... lo immaginavo! ;)
Ricorda che puoi avere i cursori scorrevoli, per cui potresti posizionarti sull'ultimo record e sapere quanti sono senza leggerli tutti.Quindi se facessi (non ho ancora provato): rs.last() e poi rs.getRow() otterrei il numero delle righe, giusto?

Grazie mille.