Erreur de java.lang.ArrayIndexOutOfBoundsException
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:
Citation:
le 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
Apparemment j'essaie de lire une case qui n'a pas été définie dans mon tableau
Voici mon code:
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
| 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++;
} |
La ligne 117 correspond à celle-ci:
Code:
data[j][i] = res.getObject(i);
Merci