Fermeture connection et persistance ResultSet
Bonjour à tous,
J'ai un petit souci avec une servlet qui se connecte à une base de données, puis renvoie un ResultSet.
Je récupère ce ResultSet dans un fichier jsp pour affichage.
En gros, si je ne ferme pas la connection à la fin de la servlet ça marche, mais si je la ferme, la jsp renvoie une null key exception ... sachant que laisser la connection ouverte ne me plaît pas trop :(
Voici le code de ma servlet
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
public static ResultSet donneesTableauProduit(String annee) {
ResultSet resultProduit = null;
String url = "jdbc:mysql://localhost/mabasededonnees";
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection(url, "user", "user");
Statement stmt=con.createStatement();
String sql = "SELECT Produit, COUNT(ID) FROM data_table Where Year='" +annee + "'";
resultProduit=stmt.executeQuery(sql);
stmt.close();
}
catch (SQLException e) {
System.err.print("SQLException: ");
System.err.println(e.getMessage());
}
catch (Exception e) {
System.err.print("Exception: ");
System.err.println(e.getMessage());
}
finally{
try{
//le fermeture de la connection qui pose problème !!!
if (con != null) {
con.close();
}
} catch (SQLException sqle) {}
}
return resultProduit; |
Si certains ont des idées pour contourner ce problème, ce serait super sympa.
Merci par avance,