Plop !

J'ai un programme qui possede des fonctions. Ces fonctions font des acces à la base de donnée.

Voila comment j'ouvre ma connexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
        javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("DEA.supervision");
        connOBS = ds.getConnection();         
        stmtOBS = connOBS.createStatement();
(le tout en try/catch)
J'effectue ensuite la requette via le statement.
Le problème se pose lors de la fermeture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
try
  {
      stmtOBS.close();
      connOBS.close();
  }catch (Exception e) 
    {
              System.out.println("Fonction try1");
              try
              {
                e.printStackTrace();
                stmtOBS.close();
                connOBS.close();
              }
              catch(Exception e2)
              {
                System.out.println("Fonction try2");
              }    
    }
Mes questions sont les suivantes : si j'ai une exception sur le connOBS.close(), est-ce que le fait de refermer le statement dans le catch est problématique ?
Est-ce que le fait de fermer la connexion ferme le Statement aussi ?

merci d'avance

mavina, qui reprend un projet