probleme de resultset vide
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:
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; |