Bonjour j'ai 2 méthode :

la 1ère fait une requête sur une base

la seconde fait 2 requête sur une seconde base en se servant du résultat de la premiere.

Voici les structures :

méthode 1
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
 
	    public List<String>  methodeA(int i) throws RequeteException {
	        Connection con = null;
	        PreparedStatement ps = null;
	        ResultSet rs = null;
	        List<String>  retour = new ArrayList<String> ();
	        final String requete ="MA REQUÊTE";
 
	        try {
	            con = connexion.getConnection();
	            ps = con.prepareStatement(requete);
	            rs = ps.executeQuery();
	            while(rs.next()){
		            	retour.add(MES DONNEES);
 
	            }
 
	            connexion.cloreRequete(rs, ps, con);
	        } catch (Exception e) {
	            connexion.cloreRequete(rs, ps, con, "methodeA(int i)", e);
	        }
	        return retour;
	    }
méthode 2
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
 
public List<Dossier> methodeB(String t) throws RequeteException {
		   List<Dossier> retour = new ArrayList<Dossier>();
		   Connection con = null;
		   PreparedStatement ps = null;
		   ResultSet rs = null;
		   Dossier d = null;
		   String requete = null;
 
           if(tous.equals("2") || tous.equals("3")){
        	   requete = "MA REQUETE";
           }else if(tous.equals("1")){        	   
        	   requete = "MA REQUETE";	   
           }
 
		  try{
		       con = this.connexion.getConnection();
		       ps = con.prepareStatement(requete).;
		       rs = ps.executeQuery();
 
		       while (rs.next()) {
		    	   d = new Dossier();
	               d.setDossierId(rs.getInt("DOSSIER_ID"));
 
		           retour.add(d);
 
		           this.connexion.cloreRequete(rs, ps, con);
 
		           if(tous.equals("3")){
				 List <String> listeDossier = methodeA(d.getDossierId());
				 for (int i = 0; i < listeDossier.size(); i++) {
					requete = "MA REQUETE ";
                                       PreparedStatement ps2 = null;
					ResultSet rs2 = null;							   
					ps2 = con.prepareStatement(requete);
					rs2 = ps2.executeQuery();
                                        if (rs2.next()) {
					    MON TRAITEMENT
					    retour.add(d);
					}
					       this.connexion.cloreRequete(rs2, ps2, con);
	                         }
		           }
		       }
		       this.connexion.cloreRequete(rs, ps, con);
		    } catch (Exception ex) {
		          this.connexion.cloreRequete(rs, ps, con, "methodeB(String t)", ex);
	 }
	 return retour;
 }
Je ne sais pas comment organiser mon code pour éviter l'erreur