[RESOLVIDO] Ha problema se não fechar a conexao e o PrepareStatement neste caso?

4 respostas
C

Aqui o meu código para consulta:

public java.sql.ResultSet consulta(String consulta) { java.sql.ResultSet rs; java.sql.PreparedStatement ps; java.sql.Connection con; try { con = conectar(); ps = con.prepareStatement(consulta); rs = ps.executeQuery(); return rs; } catch (SQLException ex) { Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex); return null; } }
Só que se eu mandar fechar a conexao e o PrepareStatement o ResultSet retornará nulo.
Obrigado a todos!

4 Respostas

Hebert_Coelho

Sim, é sempre problema não fechar um recurso que está aberto.

Extraia o valor do ResultSet antes de fechar o tudo.

E

Dica: evite retornar um ResultSet de um método, tal como você fez acima.

Se isso é mandatório, então abra a conexão fora desse método e passe a conexão como um parâmetro. Isso tem a vantagem que você pode reaproveitar a conexão para fazer mais coisas no seu código.

jaboot

cembjr, uma dica

Se abrir a conexão pelo [color=violet]try[/color], feche-a pelo [color=violet]finally[/color]. Daí você sempre tem a certeza do fechamento da mesma.

C

Huum muito obrigado a todos!!! Era só um meio que tava tentando aproveitar o código para consultas!! Mas vou deixa-lo de lado!!
Muito Obrigado novamente!

Criado 29 de janeiro de 2013
Ultima resposta 29 de jan. de 2013
Respostas 4
Participantes 4