Fechar PreparedStatements e Statements

5 respostas
B

Qual é a necessidade de se fechar os PreparedeStatments, ResultSets e Statements? Quando eu fecho a conexão eles não são fechados automaticamente?

5 Respostas

cv1

Sao, mas vc pode nao querer fechar a conexao :wink:

Ironlynx

baiano_mg,
deve-se fechar statments,result sets pq eles consomem recursos( como memória).Não se deve esperar garbage collector passar para limpar os objetos q estão sem referência,e os recursos do banco esgotam bem antes dos da máquina!Às vezes é bom chamar um método finalize() ou fechar(forçar) recursos numa cláusula finally() p/ garantir(…),mas o melhor é um simples try-catch para fechar o q vc tiver aberto e capturar possíveis erros… :wink:

B

Eu ainda não estou 100% certo de ter que fechar tudo não, já que a maioria das coisas que eu faço é no esquema: abre, usa e fecha logo em seguida. Então se logo depois de abrir tudo eu fecho a conexao num finally, eu preciso fechar os resultset e preparedstatement?

Valeu

louds

Bom, é recomendavel fechar manualmente todos ResultSets e statements por uma boa prática e existir bancos de dados estupidos o suficiente para ‘vazar’ recursos se isso não for feito (além do driver ter um bug)

B

Bem, pra não correr o risco, vou começar a fechar tudo agora

Valeu

Criado 7 de dezembro de 2003
Ultima resposta 8 de dez. de 2003
Respostas 5
Participantes 4