C'est vrai, que je n'ai pas fait tous les tests nécessaires. Mais pour faire les choses dans les régles de l'art, il faut utiliser les méthodes close() et isClosed().
En effet, les classes ResultSet, Statement, et Connection exposent des telles méthodes.
ResultSet cltResultSet = statement.executeQuery("SELECT * FROM T_CLIENT");
while (cltResultSet.next()) {
// ...
}
// Faire le ménage
cltResultSet.close();
// ...
// Est ce que l'objet Statement est encore valide
if (statement.isClosed()) {
throw new RuntimeException("Statement is closed");
}
ResultSet cmdResultSet = statement.executeQuery("SELECT * FROM T_COMMANDE");
while (cmdResultSet.next()) {
// ...
}
// Faire le ménage cmdResultSet.close();
// Faire le ménage statement.close();
// Faire le ménage connection.close();
Vous n’avez pas trouvé la réponse que vous recherchez ?
moi je me disais peut être que la mémoire reste allouée et que les méthodes close() servent à la libérer.. ta réponse est dans la même gamme je pense..
Autre question (ah oui, t'aurais pas dû être si gentil et répondant si vite ) : est-ce l'oublie des méthodes close() entraine des failles de sécurité ?
Comme un objet de la classe Connection sert à véhiculer les données dépuis le programme client vers le SGBD (qui est probablement situé sur une machine distante).
Cet objet faire l'abstraction de cette communication (client/serveur). La méthode close() ferme le canal d'échange et libère les ressources allouées.
D'après la documentation, si tu oublies d'appeler la méthode close() les ressources allouées seront automatiquement libérées.
void close() throws SQLException
Releases this Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released.
Mais ceci, n'est pas un argument pour laisser les choses à tord et à travers.
Souviens toi toujours, il faut suivre les bonnes manières (Best Practices).
Dans certains cas pour ne pas oublier de libérer la connexion, on crée un [shutdown hook], c'est une unité d'exécution/Thread qui se lance lorsque l'application se terminera.
Salut,
Stp je cherche a faire un simple code pour authentification sous netbeans en webservice ,mais je me bloque au dessus.je me bloque surtout au niveau de la vérification( la partie if ) je sais pas quoi écrire exactement :(
Can you help me please ?
27 nov. 2014 à 11:38