Como saber a quantidade de registros resultantes de uma consulta JDBC em dataset

Boa tarde. Precisamos saber a quantidade de registros retornados em uma consulta JDBC dentro de um dataset, porém não encontramos uma função ou método que nos dê este valor.


var rs = st.executeQuery();
while(rs.next()) {
dataset.addRow(new Array(
    rs.getString("Vendedorproposta").toString(),
        rs.getString("COLUNA1"),
        rs.getString("COLUNA2"),
        rs.getString("COLUNA3"),
        rs.getString("COLUNA4"),
        rs.getString("COLUNA5")
        ));
}

No código acima, quando há um resultado o dataset funciona normalmente, porém se não houver registros precisamos fazer uma tratativa.

O ResultSet é uma representação do cursor de um resultado no JDBC, ele por si só apenas prossegue dentro dele mesmo, há umas vias de fazer isso pelo JDBC, porém elas não são para todos os bancos. Uma é usar o JDBC4ResultSet, que daria pra usar o getUpdateCount, mas como disse, isso não funciona muito bem para todos os bancos.

Outra forma seria simplesmente iniciar um contador a 0 e incrementá-lo toda vez que entrar no while.

Não sei se captei bem a dúvida.

No resultset não tem como pegar quantidade de linhas dentro dele o que pode ser feito é vc ir para o ultimo resgistro dele usando.


rs.last();

depois pega o numero da linha.


var numero_linhas = rs.getRow();

depois posiciona o resultset no primeiro item novamente.


rs.first();