Bonjour
Jai créé une application qui récupére des données provenant de ma base de données et les affiche dans une JTable. J'essaie maintenant d'ajouter un Checkbox dans la 1ère colonne de mon tableau, mais je reçois ce message d'erreur:
Apparemment j'essaie de lire une case qui n'a pas été définie dans mon tableaule nombre de colonne est: 4
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at gesstock.PanListerUser.actualiser(PanListerUser.java:117)
at gesstock.PanListerUser.<init>(PanListerUser.java:61)
at gesstock.Accueil.<init>(Accueil.java:27)
at gesstock.Main.main(Main.java:17)
Java Result: 1
Voici mon code:
La ligne 117 correspond à celle-ci:
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 String requete = null; requete="select * from user "; //Création d'un objet Statement long start = System.currentTimeMillis(); state = con.createStatement(); //L'objet ResultSet contient le résultat de la requête SQL res = state.executeQuery(requete); //On récupère les MetaData resultMeta = res.getMetaData(); //On récupère les meta afin de récupérer le nom des colonnes ResultSetMetaData meta = res.getMetaData(); int nbrCol = meta.getColumnCount(); System.out.println("le nombre de colonne est: "+nbrCol); //On initialise un tableau d'Object pour les en-têtes du tableau Object[] column = new Object[nbrCol+1]; column[0] = "Case à cocher"; for(int i = 1 ; i <= nbrCol; i++) column[i] = meta.getColumnName(i); //Petite manipulation pour obtenir le nombre de lignes res.last(); int rowCount = res.getRow(); Object[][] data = new Object[res.getRow()][nbrCol+1]; //On revient au départ res.beforeFirst(); int j = 1; //On remplit le tableau d'Object[][] while(res.next()){ data[0][0] = new Boolean(false); for(int i = 1 ; i <= nbrCol; i++) data[j][i] = res.getObject(i); j++; }
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part data[j][i] = res.getObject(i);
Partager