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

cs_EmnaIAG 7 Messages postés mardi 22 mars 2011Date d'inscription 15 mai 2012 Dernière intervention - 6 avril 2012 à 01:10 - Dernière réponse : cs_EmnaIAG 7 Messages postés mardi 22 mars 2011Date d'inscription 15 mai 2012 Dernière intervention
- 6 avril 2012 à 11:52
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cormandyr 600 Messages postés samedi 20 mai 2006Date d'inscription 8 juillet 2016 Dernière intervention - 6 avril 2012 à 08:05
3
Merci
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").

Merci cormandyr 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cormandyr
cs_EmnaIAG 7 Messages postés mardi 22 mars 2011Date d'inscription 15 mai 2012 Dernière intervention - 6 avril 2012 à 11:52
0
Merci
merci bien M.cormandyr pour votre aide et pour vos conseils
Commenter la réponse de cs_EmnaIAG

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.