Quel est cette erreur "Element ResultSet n'est pas ouvert" Kezako ?
Bonjours à tous,
Je réalise un projet Web en Jsp avec NetBeans.
J'ai une erreur dont je trouve pas l'origine ?
java.sql.SQLException: L'élément ResultSet n'est pas ouvert. Vérifiez que la fonction de validation automatique est désactivée (OFF).
Voici la méthode ou se déclare cette vilaine erreur
Concernant les variables rs et con ils sont crée dans le constructeur de mon objet
Code:
1 2 3
|
Connection con = null;
ResultSet rs = null; |
Je tiens à dire que l'erreur se produit que lorsque j'appelle cette méthode.
J'accède avec plusieurs méthode à ma DB et ça fonctionne très bien.
Sauf le cas présent ....
Pour se code aucun problème ...
Code:
1 2 3 4 5 6 7 8 9 10
| public void dbConnecte() {//
try {
/*Charge les drives !*/
Class.forName(driver).newInstance();
String url = "jdbc:derby://localhost:1527/concours";
con = DriverManager.getConnection(url, user, pass);
} catch (Exception ex) {
ex.printStackTrace();
}
} |
L'erreur se déclanche dans la boucle while(rs.next) ...
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
|
public List<Participant> getAllParticipants(int idConcour){
this.dbConnecte();
List<Participant> LParcitipant=new ArrayList<Participant>();
PreparedStatement pstmt=null;
try {
String query = "SELECT distinct(login) FROM participation where id_concours=" + idConcour + "";
pstmt = con.prepareStatement(query);
rs = pstmt.executeQuery();
while(rs.next()){
String login=rs.getString("login");
Participant participant=this.getParticipant(login);
LParcitipant.add(participant);
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Exception lancé getAllPartcipants, class ConcoursDao");
} finally {
System.out.println("4");
try {
rs.close();
pstmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return LParcitipant;
} |
Merci à tous