Estou me inserindo agora no fórum e ja dei uma pesquisada geral e não achei nada para resolver o meu problema. Preciso testar o fim do ResultSet, só que dá erro, será que alguém pode me ajudar? Se possivel tb, onde acho uma dica para criar um Método (ou Classe)Genérico para Conectar a qquer bco de dados!
Obrigado!
Marcelo
private void mostraDados(Statement stmt) throws Exception {
String sql = “Select * from Ven_Vendedor”;
ResultSet rs = stmt.executeQuery(sql);
:arrow: while (!rs.isLast()) {
rs.next();
System.out.println(rs.getString(1)+" "+rs.getString(2));
}
}
DÁ ESSE ERRO:
java.sql.SQLException: Operação inválida para encaminhar apenas conjunto de resultados: isLast
at oracle.jdbc.dbaccess.DBError.throwSqlException DBError.java:180)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
at oracle.jdbc.driver.OracleResultSetImpl.isLast(OracleResultSetImpl.java:291)
at pjtreport.Lista.mostraDados(Lista.java:31)
at pjtreport.Lista.jbInit(Lista.java:25)
at pjtreport.Lista.(Lista.java:13)
at pjtreport.Lista.main(Lista.java:8)
Sobre a conexão generica não sei se vc vai conseguir. pois cada banco tem seu JDBC e sua string de conexão (eu nunca ouvi falar em uma classe generica). A noticia boa é que basta acessar o site do banco que vc usa que vc terá grande chance de encontrar o JDBC e um exemplo na página deles.
O que você quer saber é se a query produziu resultados (retornou registros) ?
Se for isso, apenas teste:
if (rs.next()) { // entao a query tem pelo menos 1 registro }
se não for isso, acho que tem a ver com o tipo do conjunto de resultados (que deve ser SCROLLABLE… ou algo parecido…) olha… não tenho certeza disso não!
o que eu quero saber é, imagine que estou neste loop (while (true)…loop infinito) e estou executando o rs.next() quero saber se este próximo registro é final de ResultSet ou seja rs.isLast()=true.