j'arrive pas à parcourir un resultset avec while
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:
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:
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