Erro de Resultset "operation not allowed after resultset closed"

pessoal ja vi esse erro sendo reportado aqui no forum mas naum consegui resolver de jeito nenhum…
esse metodo faz um select no banco através de 3 parametros e retorna 4 valores…

quando eu debugo o código verifico que ao chegar nessa linha

   while (rs.next()) {  

ele da o erro “operation not allowed after resultset closed”
naum consigo visualizar onde estou fechando o resultset

alguém ajuda? como conserto?

aki o metodo completo.

public String buttonConsultar_action() throws Exception { // TODO: Processe a ação. O valor de retorno é um nome de caso // de navegação em que nulo retornará à mesma página. ResultSet rs =null; PreparedStatement ps = null; Connection conn = null; try { String query = null; conn = ConexaoBD.getConnection(); query = "Select te.numPlaca, te.horaInicial, te.horaFinal, te.idEticket from easypark.tbeticket te " + "inner join easypark.tbsolicitanteeticketvaga tsv " + "on te.idEticket = tsv.idEticket" + " inner join easypark.tbvaga tv" + " on tsv.idVaga = tv.idVaga" + " inner join easypark.tblocalizacao tl" + " on tv.idLocalizacao = tl.idLocalizacao" + " where numPlaca = ? and te.idEticket = ? and tl.idLocalizacao = ?"; ps = conn.prepareStatement(query); ps.setString(1, textFieldPlaca.getText().toString()); ps.setInt(2, Integer.parseInt(textFieldNumEticket.getText().toString()) ); ps.setInt(3, intBairro); rs = ps.executeQuery(); while (rs.next()) { setPlaca(rs.getString("numPlaca")); setHoraInicial(rs.getTime("horaInicial")); setHoraFinal(rs.getTime("horaFinal")); setIdEticket(rs.getInt("idEticket")); } } catch (Exception e) { e.printStackTrace(); } finally { ConexaoBD.close(conn, ps, rs); } labelDadosConsulta.setVisible(true); tableResultadoConsulta.setVisible(true); return null; }

tente “rs.hasNext()” ao invés de “rs.next()”.

eu consegui resolver.

no inicio do metodo onde declarei o resultset, preparedStatement e a conexão como null, eu apaguei e criei eles
ja diretamente dentro do try e funcionou!
nos parametros do fim da conexão no final, coloquei os tres como null.

vlw a atenção

[quote=Feijones]

while (rs.next()) { setPlaca(rs.getString("numPlaca")); setHoraInicial(rs.getTime("horaInicial")); setHoraFinal(rs.getTime("horaFinal")); setIdEticket(rs.getInt("idEticket")); } [/quote]

Não entendi por que você está setando os mesmos 4 atributos milhares de vezes.

[quote=Bruno Laturner][quote=Feijones]

while (rs.next()) { setPlaca(rs.getString("numPlaca")); setHoraInicial(rs.getTime("horaInicial")); setHoraFinal(rs.getTime("horaFinal")); setIdEticket(rs.getInt("idEticket")); } [/quote]

Não entendi por que você está setando os mesmos 4 atributos milhares de vezes.[/quote]

rpz… agora qe vc falou, nem eu! ^^
copiei de um código antigo meu que tava funcionando, mas esse ae funcionou tb
ele ta setando os atributos de acordo com o numero de linhas ki o select retorna, mas acho ki um if ali resolveria… vou testar.