Bonjour
Je fais un logiciel de gestion de matériel mais j'ai un souci avec ma JTable.
Avec le code ci-dessous, j'obtiens une JTable remplie avec les noms des colonnes mais aucune ligne n'apparaît.
J'ai testé la requète sous MS ACCESS. elle me renvoie 8 lignes.
Sur la console, rsliste.isEmpty = true, mais je ne vois pas pourquoi.
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 Statement stliste; ResultSet rsliste; int type = ResultSet.TYPE_SCROLL_INSENSITIVE; int mode = ResultSet.CONCUR_UPDATABLE; stliste = uneConnexionBD.MaConnexion.createStatement(type, mode); String req = " SELECT * FROM Materiel"; //Materiel.numinv,Materiel.designation,Materiel.modele,Materiel.nompiece," + //" Materiel.dateachat,Materiel.coutht,Materiel.amortissement FROM Materiel"; rsliste = stliste.executeQuery(req); // Chargement des données dans la JTable ResultSetMetaData MesMetaDonnees; // le nombre de colonnes de table int NbCol; // Déclaration des variables devant contenir le nom des colonnes et des données Vector NomCol, Donnees; // recupération du nombre de colonnes MesMetaDonnees = rsliste.getMetaData(); NbCol = MesMetaDonnees.getColumnCount(); // Recupération des noms des colonnes NomCol = new Vector(); for(int i = 0; i < NbCol; i++){ NomCol.addElement(MesMetaDonnees.getColumnLabel(i + 1)); } // Recupération des données de la table Donnees = new Vector(); while (rsliste.next()){ Vector NewDonnees = new Vector(); for(int j = 1; j <= NbCol; j++){ NewDonnees.addElement(rsliste.getObject(j)); } Donnees.addElement(NewDonnees); } System.out.println(Donnees.isEmpty()); JTable tb = new JTable(Donnees, NomCol); return tb;
Partager