Voici un code qui marche très bien pour se connecter à une Base de Données Access en JAVA:

PREMIERE REGLE : DANS UNE REQUETE DE RECHERCHE, NE JAMAIS RECUPERER 2 FOIS LA MEME DONNEE DANS UNE COLONNE.
Sinon ça plante.



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






	   	 
	     String nom="Admin";
		 String passwd="Motdepasse";
		 String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\\Users\\julien\\Documents\\ECLIPSE\\Acsonika3\\basemateriaux.mdb";
		 Connection conn = null;
			
		 ResultSet res;
		 Statement stmt;
		 
		 
	     try
		 {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			System.out.println("ok");
		 }
		
		 catch(ClassNotFoundException e)
		 {
			e.printStackTrace();
			System.out.println("Erreur chargement de driver" + e.getMessage());
		 }
				
		   	 
	   		   
		try
		{
			conn = DriverManager.getConnection(url,nom,passwd);
			stmt = conn.createStatement();
			
			// Attenuation des vitrages
			res = stmt.executeQuery("SELECT * FROM vitrages"); 
			while (res.next())
			{ 
				String s8 = res.getString(8);  // ICI JE RECUPERE UNE SEULE FOIS LES DONNEES DES COLONNES, MAIS PAS 2 FOIS !!
				String s11 = res.getString(11);
				String s2 = res.getString(2);
// ICI, SI A LA PLACE DE s2 J'AVAIS MARQUE res.getString(2) ça aurait planté !
				svitrage = s2+"             "+res.getString(3)+"            "+res.getString(6)+"               "+res.getString(7)+"              "+s8+"               "+s11;
				


etc....