Enregistrments dans JLabel

Résolu
abdesa1 Messages postés 19 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 23 avril 2006 - 10 avril 2006 à 12:59
abdesa1 Messages postés 19 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 23 avril 2006 - 10 avril 2006 à 21:33
Bonjour,
Je voulais savoir comment on pouvait mettre les elements de ma BD dans un tableau de JLabel: j'ai un problème c'est qu'il m'affiche que le dernier element de ma table???...voici mon bout de code:

pcentre = new JPanel(new GridLayout(nb+1,8)); //nb=nombre d'enregistrement de ma table
col=new JLabel[(nb+1)*8]; //je crée un tableau de JLabel de nb_enr*8colonnes
for(int i=0;i<(nb+1)*8;i++)
{
col[i]=new JLabel("");
col[i].setBorder(BorderFactory.createLineBorder(Color.BLUE));
col[i].setHorizontalAlignment(SwingConstants.CENTER);
pcentre.add(col[i]);
}

col[0].setText("Numéro Abonné");//pour les titres des colonnes
col[1].setText("Nom");
col[2].setText("Prénom");
col[3].setText("CP");
col[4].setText("Localité");
col[5].setText("Telephone");
col[6].setText("GSM");
col[7].setText("eMail");

req="SELECT * FROM participant ORDER BY nom_abonne";
cd=new ControlData();
rs=cd.requete(req);
try{
int i=8;
while(rs.next()) //est-ce juste???
{
col[i].setText(String.valueOf(rs.getInt("id_participant")));
col[i+1].setText(rs.getString("nom_abonne"));
col[i+2].setText(rs.getString("prenom_abonne"));
col[i+3].setText(String.valueOf(rs.getInt("cp_abonne")));
col[i+4].setText(rs.getString("localite_abonne"));
col[i+5].setText(rs.getString("tel_abonne"));
col[i+6].setText(rs.getString("gsm_abonne"));
col[i+7].setText(rs.getString("email_abonne"));
scroll.setViewportView(col[i]);
i=+8; //pour passer à la ligne suivante de label(8 colonnes)
}
rs.close();
}
catch(Exception ex){JOptionPane.showMessageDialog(null,"erreur SQL: "+ex.getMessage());}
}

Merci d'avance....

1 réponse

abdesa1 Messages postés 19 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 23 avril 2006
10 avril 2006 à 21:33
j'ai trouvé l'erreur qui est toute bête!!!!
i=+8; // il faut mettre à la place i+=8 pour passer à la ligne suivante de label(8 colonnes) autrement j'ecrase l'enregistrement précedent!!!..
3
Rejoignez-nous