Problemas com Try/Catch e Banco de Dados

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?

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) {}
}

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.

Obrigado… :razz:
Valeu pela atenção