pra saber no número de colunas de um ResultSet eu uso:
int numCols = rs.getMetaData().getColumnCount();
como que eu faço pra saber o número de linhas desse rs ???
pra saber no número de colunas de um ResultSet eu uso:
int numCols = rs.getMetaData().getColumnCount();
como que eu faço pra saber o número de linhas desse rs ???
Olá,
como(se) você já tem um ResultSet, dá na mesma fazer um loop:
int contador;
while (rs.next())
contador++;
ou usar o método getRow() após um last():
int contador = resultSet.last() ? resultSet.getRow() : 0;
a performance será a mesma. Em ambos os casos, no final das contas, será realizado um loop em todo ResultSet!
Mas se você só quer saber a quantidade de linhas e não for usar o ResultSet para mais nada, com certeza
SELECT count(*) FROM tabela
será muito mais rápido! (para milhares de registros, é claro!. Se for uma tabela de UFs por exemplo, tanto faz)
spier
beleza
era isso mesmo… depois de usar:
int numLin = resultSet.last() ? resultSet.getRow() : 0;
eu uso resultSet.first();
e continuo usando o resultSet normalmente.
É que eu vou declarar uma matriz de String, e preciso saber quantas linhas vai ter.
String dadosBD = new String[numLin][numCols];
e insiro os dados nas respectivas posições…
Valeu, até mais
Mas é preciso atenção quanto a um rs.first(), que já posiciona no primeiro, normalmente o mesmo que o primeiro rs.next();
para que não pulemos o primeiro registro, devemos fazer
...
rs.first();
do {
...
} while(rs.next());
ou
...
rs.beforeFirst();
while (rs.next() ) {
...
}
spier