Afficher les enregistrement d'une table [Résolu]

Signaler
Messages postés
7
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
15 mai 2012
-
Messages postés
7
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
15 mai 2012
-
Bonsoir,
je code une application java en netbeans,dans un frame j'ai met un jtable dont je veux afficher les enregistrements d'une table de la base de données MySQL, la connexion se fait bien mais les enregistrement ne s'affiche pas.le message d'erreur suivant s'affiche:
" erreur d'affichage liste des matières
Column Index out of range, 0<1 "

voilà mon code de la procédure affichage :

 
// procédure d'affichage le matières :
 private void AfficheMatiere() {
        try {
             
            RS = St.executeQuery("select idMatiere , Designation ,Unité , PrixAchat , PrixVente , TVA  from matière ");
            while (RS.next()){
                idMatiere = RS.getInt(idMatiere); 
                Designation = RS.getString(Designation);
                Unité = RS.getString(Unité);
                PrixAchat = RS.getInt(PrixAchat);
                PrixVente = RS.getInt(PrixVente);
                TVA = RS.getInt(TVA);
                Object[] matiere = {idMatiere, Designation, Unité, PrixAchat, PrixVente, TVA };
                dtm.addRow(matiere);
          }
            TableMatiere.setModel(dtm);
           
        }catch (Exception e) {
        
            JOptionPane.showMessageDialog(null,"erreur d'affichage liste des matières\n"+ e.getMessage());
 
            
        }
    } 

 // Declaration des variables :
    private Connection cnx ;
    private Statement St ;
    private ResultSet RS ;
    private DefaultTableModel dtm ;
    private int idMatiere , TVA ;
    private String Designation , Unité ;
    private int PrixAchat , PrixVente ;


SVP aidez moi
merci d'avance

2 réponses

Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
9
Salut,

je crois que j'ai compris...
Première chose, lorsque tu as une erreur comme ça et que tu nous demande de l'aide, essaye de nous dire quelle ligne de code génère l'erreur... (via la méthode printStackTrace() d'une exception...)

Deuxième chose, dans ton code, comme dans ta base de données, évite les caractères accentués.

Et finalement, dans les standards de la programmation java, une class commence pas une majuscule et une variable d'instance par une minuscule...


Pour répondre à ta question, lorsque tu récupères une information d'un ResultSet, il te demande l'indice de la valeur que tu veux avoir (indice qui commence à 1) ou le nom de la valeur (nom qui l'identifie dans le retour de ta requête). Ici, lorsque tu fais rs.getInt(idMatiere), tu lui demande la valeur à la position 0 (int initialisé à 0 par défaut)... A ta place, soit je fais rs.getInt(1), soit rs.getInt("idMatiere").
Messages postés
7
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
15 mai 2012

merci bien M.cormandyr pour votre aide et pour vos conseils