Problemas com Try/Catch e Banco de Dados

3 respostas
T

Olá. Estou tentando fazer uma pequena aplicação e tenho o seguinte codigo:

Num primeiro momento, o comando funciona…fazendo o insert no banco bonitinho. Mas e se o comando pra fazer o UPDATE der algum pau? vai dar uma exception. Correto?? e Como que eu faço para fechar a conexão com o banco??? Quando eu tento dar o comando con.close(); no Catch da um erro avisando que a variavel con nao existe. Como devo proceder?

3 Respostas

F
Antes do seu try coloque:

Connection conn = null;

Statement stmt = null;

Fará com que os objetos fiquem visíveis para os blocos abaixo

E, abaixo do catch coloque um finally fechando o statement e o connection.
O bloco finally do try/catch/finally sempre será executando dando ou não erro. E como close pode retornar um SQLException use um try com catch vazio. Ex.:

finally {

try {

stmt.close();

conn.close();

}

catch (Exception ex) {}

}
F

Outra coisa, como vc está mandando somente um comando para o banco não há necessidade de usar commit, pois se der erro o banco mesmo irá dar um rollback. Use o commit qd enviar mais de um comando de uma vez, mas antes verifique se a conexão está como autocommit (setAutoCommit e getAutoCommit) se não me engando o padrão é true, com isto a conexão irá dar um comit em cada comando de forma automática.

T

Obrigado… :razz:
Valeu pela atenção

Criado 13 de junho de 2005
Ultima resposta 13 de jun. de 2005
Respostas 3
Participantes 2