Bonjour,
voilà j'ai une méthode récursive qui utilise un ResultSet. Helas, au retour de l'appel récursif, mon ResultSet est null ... En fait mon ResultSet est fournit par une autre méthode. Est ce la cause du pb ?
Enfin bref, voici le pseudo code :
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 Class1 { main (){ int error = méthode(donneResultSet()); } ResultSet donneResultSet(){ String req = "une requete qui va bien"; return classe2.select(req); // est là le pb ? } int méthode(Resultset set){ while(set.next()) { // pleins de truc // appel récursif pour les sous-enregistrements dans la table return méthode(donneResultSet()); } set.close(); // présent ou pas c'est pareil return 0; } }//Class 1 Class2 { ... public ResultSet sel(String texte){ ResultSet rs=null; try{ if (bddSel==null){ //instande de connexion à la base bddSel=new BDD(Pool.GetConnection(prefixe)); } rs=bddSel.select(texte); // -> return (statement.executeQuery(requete)); } catch(Exception e){ // bref } return(rs); } } //Class 2
à la fin du premier tour, appel récursif -> requete ne renvoie rien
retour à "la méthode parente" pour deuxième tour -> paf NullPointer sur mon resultSet
une idée ? parce que là je patauge un peu ...
[EDIT] Bon en fait, quand on ré exécute le statement, ça ferme le ResultSet ... donc je suis mal.
Avez vous une idée de ce que je peux faire ?
Partager