Bonjour à tous,
j'ai essayer d'appliquer le code inscrit dans la faq jdbc pour afficher la liste des tables d'une base de données mais ça ne marche pas.
voici la classe java :
et voici l'erreur retournée :
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 /* * Créé le 26 déc. 2008 * */ import java.sql.*; import java.util.*; public class DFInfoBD { private Connection inf_con; public DFInfoBD(Connection con){ inf_con=con; } /* Renvoi la liste des tables de la BD*/ public List getListeTables() throws Exception{ List tables=null; String[] typeTables={"TABLE"}; tables.clear(); //on récupère les métadonnées à partir de la connexion DatabaseMetaData dmd = inf_con.getMetaData(); //récupération des informations ResultSet rsTables = dmd.getTables(inf_con.getCatalog(),null,"%",typeTables); //affichage des informations while(rsTables.next()){ for(int i=0; i<rsTables.getMetaData().getColumnCount();i++){ //String nomColonne = rsTables.getMetaData().getColumnName(i+1); //Object valeurColonne = rsTables.getObject(i+1); tables.add(rsTables.getMetaData().getColumnName(i+1)); //System.out.println(nomColonne+" = "+valeurColonne); } } return tables; } /*** GETTERS ***/ public Connection getInfoCon(){ return this.inf_con;} /*** SETTERS ***/ public void setInfoCon(Connection con){this.inf_con=con;} public static void main(String[] args) { try{ Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "francis", "dfrancis"); System.out.println("Connexion effectuée avec succès."); DFInfoBD info = new DFInfoBD(con); List lesTables = info.getListeTables(); System.out.println("Bon"); if(lesTables!=null){ for(int i=1; i<=lesTables.size(); i++){ System.out.println(lesTables.get(i).toString()); } } con.close(); } catch(Exception e){ System.err.print("An error has occured : "+e.getMessage()); } } }
c'est koi le problème à votre avis ? Tout a pourtant l'air nikel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Connexion effectuée avec succès. An error has occured : null
Partager