Problème affichage JTable [Résolu]

floflo69290 16 Messages postés jeudi 25 juin 2009Date d'inscription 25 juin 2009 Dernière intervention - 26 mai 2009 à 12:10 - Dernière réponse : floflo69290 16 Messages postés jeudi 25 juin 2009Date d'inscription 25 juin 2009 Dernière intervention
- 29 mai 2009 à 13:42
Bonjour,

J'ai une problème d'affichage de mon JTable.
Dans une classe je récupère mes informations sur la table client :

public static ResultSet getAll()
       {
           Bd connexion = new Bd();
           ResultSet rs = null;
           try{
               rs = (ResultSet) connexion.execQuery("select * from client");
                          }
           catch(Exception e){
                System.out.println("Erreur de chargement de l'élement " + e);
           }
           return rs;          
       }

Dans mon autre classe je veux l'afficher dans un JTable.
Mon problème est que je peux afficher une valeur en dure (ma valeur "toto") mais pas ma valeur récupéré de ma base de données :

    public TableClient() {       
     RecupClient element = new RecupClient();
     table = new JTable();

     DefaultTableModel model = new DefaultTableModel();
     JTable table = new JTable(model);
     
     model.addColumn("Colonne  nom");
    // ResultSet rs = element.getAll(); // récupération des données de la base
    // String nom = rs.getString("Nom");
     // Création de la première ligne
     model.insertRow(0, new Object[] {"toto"});
        
        JFrame f = new JFrame();
        f.setSize(300, 300);
        f.add(new JScrollPane(table));
        f.setVisible(true);
}

Merci de votre aide.
Flo.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
floflo69290 16 Messages postés jeudi 25 juin 2009Date d'inscription 25 juin 2009 Dernière intervention - 29 mai 2009 à 13:42
3
Merci
C'est bon, j'ai trouvé la solution, merci.

pour info :

public TableClient() {       
         RecupClient element = new RecupClient();
         DefaultTableModel model = new DefaultTableModel();
         //On initialise la table avec le model        
         table = new JTable(model);
        
         model.addColumn("Id");
         model.addColumn("Civilité");
         model.addColumn("Nom");
         model.addColumn("Prenom");
         model.addColumn("Adresse");
         model.addColumn("Code postal");
         model.addColumn("Ville");
         model.addColumn("Tel");
         model.addColumn("Adresse mail");
         model.addColumn("Profession");
         model.addColumn("Société");
         model.addColumn("Responsable");
         //try pour exception SQL
        try{
         //on récupère tous les clients dans un resultset
         ResultSet rs = element.getAll();
         //On parcours les lignes du resultset
         while(rs.next()){
             //On insert la ligne en court dans le tableau. Pour insérer dans l'ordre des ID, un order by dans la requete fera l'affaire
             //Penser a rendre les lignes non éditables
             model.insertRow(0, new Object[] {rs.getInt("idClient"),
                     rs.getString("Civilite"),
                     rs.getString("Nom"),
                     rs.getString("Prenom"),
                     rs.getString("Adresse"),
                     rs.getString("CP"),
                     rs.getString("Ville"),
                     rs.getString("Tel"),
                     rs.getString("AdresseMail"),
                     rs.getString("Profession"),
                     rs.getString("Societe"),
                     rs.getString("Responsable"),});
         }
        }catch(Exception e){
            System.out.println("Erreur");
        }
    }

Merci floflo69290 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de floflo69290
manlap 17 Messages postés vendredi 4 janvier 2008Date d'inscription 28 juin 2010 Dernière intervention - 29 mai 2009 à 11:52
0
Merci
Bonjour,

Il faut que tu boucles sur ton ResultSet rs et que pour chaque valeur tu l'insères dans ton model

int i = 0;
while (rs.next()) {
   String [] valeur = new String[1];
   valeur[0] = rs.getString("Nom");
   model.insertRow(i++, valeur);
}

 
Commenter la réponse de manlap

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.