bonjour,

voici mon 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
 
Annuaire AN = new Annuaire(); // instanciation d'un annuaire
 
		SQL base;
		ResultSet Result;
		ResultSet Result2;
		base = new SQL();
		base.connecterBD("BDDannuaire");
		try{
		Result = base.execReqSelection("SELECT * FROM Contact");
		while (Result.next()){
			Entreprise EN = new Entreprise(Result.getInt(1),Result.getString(2),Result.getString(3),Result.getString(4),Result.getInt(5),Result.getString(6),Result.getString(7),Result.getInt(8),Result.getString(9));
			AN.AjouterContact(EN);
			try{
				System.out.println("test");
				Result2 = base.execReqSelection("SELECT * FROM Telephone WHERE num_Contact="+Result.getInt(1));
				System.out.println("test2");
				while(Result2.next()){
					System.out.println(Result2.getString(2)+Result2.getString(3));
					Telephone Tel = new Telephone(Result2.getString(2),Result2.getString(3));
					EN.AjouterTel(Tel);
					}
				}
			catch (Exception e){ System.out.println("Exception telephone");}
			}
		}
		catch (Exception e){ System.out.println("Exception contact");}
 
		base.fermerConnexionBD();
Le souci, c'est que ca me fait une erreur dans le second try!
Lorsque j'enleve le second try avec ce qu'il contient, cela fonctionne bien.
J'ai également essayer de mettre ce qu'il y a dans le second try dans le premier mais ca a fait l'erreur qu'il y a dans le catch.

au faite, la classe qui contient les connexion à la base de donnée est:
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
 
package Annu;
import java.sql.*;
 
public class SQL {
Connection cnx;
 
 
	public SQL(){cnx=null;}
 
	public void connecterBD(String nomOdbcBD){
		//connexion à la base de données à partir d'une source Odbc
		String url="jdbc:odbc:"+nomOdbcBD;//BDDannuaire
		//try permet de lancer la connexion
		try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		cnx = DriverManager.getConnection(url,"","");
				}
		//si la connexion echoue, un message d'erreur est affiché
		catch(Exception e){System.out.println("Echec lors de la connexion");}
	}
 
	public ResultSet execReqSelection(String req){
		ResultSet resultatReq = null; //curseur qui contiendra le resultat de la requete
		try{
			Statement requete=cnx.createStatement();
			resultatReq = requete.executeQuery(req);
		}
		catch(Exception e){System.out.println("Echec de la requete: "+req);}
		return resultatReq;
	}
 
	public int execReqMaj(String req){
		int nbmaj =0;
		try{
			Statement s= cnx.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
			nbmaj = s.executeUpdate(req);
			s.close();
		}
		catch(Exception er){er.printStackTrace();
		System.out.println("Erreur ajout de la requete: "+req);}
		return nbmaj;
	}
 
	public void fermerConnexionBD(){
		try{
			cnx.close();}
		catch (Exception e){System.out.println("Echec sur la fermeture");}
		}
}
Apparemment, l'erreur viendrait de Result2 => +Result.getInt(1)

avez-vous une idée pourquoi cela se produit??

merci d'avance