É verdade, felipe, tem toda a razão. Na verdade eu não faço assim, tenho uma
classe pronta que extende Connection e trata essas coisinhas pra evitar
que o codigo fique muito poluido. Tenho uns métodos que retornam direto um
ResultSet, e um finalize() que fecha a conexão, se alguém se esqueceu no
c
Mauro,
Note que no seu bloco finally, se o rs.close() gerar uma exceção (o que
deve ser raríssimo, pouco provável, mas possível.), a conexão não será
fechada. Normalmente, eu faço algo do tipo:
finally {
JDBCUtilities.silentClose( stmt );
JDBCUtilities.silentClose( co );
}
// JDBCUtilties
Eu normalmente uso assim:
Connection co = null;
ResultSet rs = null;
try {
co = pegaConn();
rs = executaUmQuery(co);
while (rs.next()) {
...
}
} catch (SQLException eSQL) {
debug("deu pau na base");
} finally {
if (rs != null) rs.close();
if (co != null) co.close();
}
[]s, ETA :-),
MARCE