Olá,
Preciso encerrar uma conexao com banco de dados ao fechar uma janela JFrame clicando no "X"
no código mnu é o JFrame e o unico jeito que eu quero para fechar a janela é clicando no "X"
ou seja fiz isso:
mnu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Existe algum meio de programar um evento para que ao clicar no “X” ele encerre a conexao???
st.close(); //Statement
con.close(); //Connection
Grato!!!
Ué kra você usa alguma IDE pra programar ?
Tem um evento de Window pra isso .
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
formWindowClosing(evt);
}
});
private void formWindowClosing(java.awt.event.WindowEvent evt) {
st.close(); //Statement
con.close(); //Connection
}
Mas aproveitando o assunto , Tenho um colega que trabalha bastante com SQL , e segundo ele não é aconselhavel manter conexões com o banco de dados ativa . Ele me disse que o ideal seria que sempre
após uma consulta finalizar a conexão e quando necessário chamar outra consulta restabelece-la .
Não sei se isso se aplica ao java pois ele trabalha com VB , e pelo menos no caso que ele relatou quando
as conexões eram mantidas ativas após um determinado tempo , o banco etrava em “overflow” e era necessario fechar todas as aplicações e reiniciar o banco . Contudo depois que ele teria adotado a tecnica de desconectar após cada consulta o problema foi solucionado .
Saberiam me dizer se isso procede .
Exatamente a cada transaçao no banco o correto é fechar a conexao
ou seja ao usar abra a conexao, terminou feche
outra coisa vc poderia implementar um envento ondeactive… ai sempre que fechar ou melhor destruir
o frame sua conexao seria encerrada;
Muito Obrigado!!!
Essa dica de encerrar a conexao a cada consulta eu nao sabia… Vou melhorar isso então!!!
Valew!!!