Bonjour,

Je fais une requete et j'essaie de parcourir le resultat dans une boucle while (le code eest plus bas) mais le pense que le prog fait la requete mais ne parcourt pas la boucle.
Et pourtant j'ai l'impression que ne ferme ma base nulle part voici le code de
la requete :

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
 
 
           // Inscription dans la base
            String requete="select nomLogiciel from licence where  dateAlerte=\"12/12/2004\"" ;
             TestBdd instance = new TestBdd() ;
            resultat = instance.interrogerBdd(requete) ;
            System.out.println("interrogation terminée") ;
 
 
            // Utilisation des résultats 
 
                        while (resultat.next()) {
                            System.out.println("je suis dans le while") ;
               nomLogiciel = resultat.getString("nomLogiciel" ) ;
             System.out.println(nomLogiciel) ;
             instance2 = new EnvoyerMailHamster("nomMachine",true,"nomLogiciel") ;            
 
 
                        }
L'affichage s'arrete à interrogation terminée mais ça ne continue pas.
Voici le code de ma classe qui gère la connection à la BDD , je n'ai pas l'impression de fermer la base.
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
public class TestBdd {
 
    // Les attributs
    Connection con ;
    Statement st ;
    ResultSet rset ;
 
    // Le constructeur
    public TestBdd()
    {
     try {
        // Chargement du pilote
        Class.forName("com.mysql.jdbc.Driver") ;
 
        // Création de l'objet Connection
        String url ="jdbc:mysql://localhost/aaaaaaa" ;
        String user = "root" ;
        String password = null ;
        con = DriverManager.getConnection(url, user, password) ;
 
        // Creation de l'objet Statement pour les requêtes
        st = con.createStatement() ;
        System.out.println("La connection a été ouverte") ;
    }
      catch (SQLException e){
 
      //   System.out.println(e.getMessage()) ;
          JOptionPane.showMessageDialog(null,"Impossible de contacter la BDD");                                                     
 
     }
     catch(Exception e){
         System.out.println("Un problème est survenu") ;
     }
    }
 
    // Les méthodes
         //Fermeture de la base
    public void closeBdd()
    {
      try {
        con.close();
        System.out.println("la base a été fermée");
    }
       catch (Exception e) {
            System.out.println(e.getMessage()) ;
        }
    }
 
       // Requete de consultation
    public void consulterBdd(String requete)
    {
        try {
        st.execute(requete);
    }
        catch (Exception e) {
            System.out.println(e.getMessage()) ;
        }
    }
        // Interroger la base
   public ResultSet interrogerBdd(String requete)
    {
       try {
       rset= st.executeQuery(requete) ;
 
    } 
       catch (Exception e) {
           System.out.println(e.getMessage()) ;
       }
   return rset ;
   }
Merci de votre aide