IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTable] Remplir depuis une requete sql


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Par défaut [JTable] Remplir depuis une requete sql
    Bonjour à tous,

    Je suis en train d'ecrire un mini moteur de recherche pour mon programme.
    J'arrive a produire la requete dynamiquement en fonction des champs saisi par l'utilisateur (ean, ttcmax, ttcmin, fournisseur, champs principal) voir image ci dessous.




    Mon probleme : je souhaiterais que le resultat de la recherche soit renseigné dans une jtable et ce au fur et à mesure que l'utilisateur saisit sa recherche.


    Mon probleme : je comprend pas bien comment fonctionne l'objet tablemodel pour remplir une jtable.
    Et j'aimerai que si l'utilisateur efface la recherche la jtables soit recalculée de facon automatique a chaque keyrelease.


    J'ai bien essaye de cette facon mais les lignes s'ajoutent les unes aux autres dans la jtables :
    De plus le resultat n'est pas tres satifaisant du fait que j'ai trouvé ce code deja pret et donc je comprend pas tout.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    requete = "select * from t_produits " + general + " " + ean + " " + mini + " " + maxi + ";";
                System.out.println(requete);
     
                // TableModel definition
     
                String[] tableColumnsName = {"col 1", "col 2", "col 3"};
                DefaultTableModel aModel = (DefaultTableModel) aTable.getModel();
                aModel.setColumnIdentifiers(tableColumnsName);
     
    	    // the query
     
                try {
                    Statement stmt = (Statement) connection.createStatement();
                    rs = stmt.executeQuery(requete);
                } catch (SQLException ex) {
                    System.out.println("CRASH REQUETE");
                }
     
     
    	   // Loop through the ResultSet and transfer in the Model
               java.sql.ResultSetMetaData rsmd = rs.getMetaData();
               int colNo = rsmd.getColumnCount();
               while (rs.next()) {
                    Object[] objects = new Object[colNo];
                    // tanks to umit ozkan for the bug fix!
                    for (int i = 0; i < colNo; i++) {
                        objects[i] = rs.getObject(i + 1);
                    }
                    aModel.addRow(objects);
                }
                aTable.setModel(aModel);
                aTable.repaint();
    Merci d'avance

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 137
    Par défaut
    Bonjour icicmoi

    essayer de bien lire la discussion de lien suivant :

    http://www.developpez.net/forums/sho...d.php?t=591795

    et si vous avez des problèmes je peux vous aidez ,car j'ai déja rencontré ce

    problème

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Par défaut
    Merci pour ton aide.
    J'ai enfin bien compris le système de modèle pour jtables.
    Je récupère quand même ton code qui est très intéressant puisque il suffit juste d'envoyer la requête sans faire la connexion, resultset directement dans le code mais bien dans un objet propre.Merci encore !

    En fait, cela ne fonctionnait pas à cause de la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DefaultTableModel aModel = (DefaultTableModel) aTable.getModel();
    Je l'ai remplacé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DefaultTableModel aModel = new DefaultTableModel();
    Voici le site ou j'ai trouve mes sources (en espérant que cela puisse aider d'autres personne

    http://www.rgagnon.com/javadetails/java-0309.html

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/02/2011, 11h24
  2. [SQL] Remplir à partir d'une requete SQL
    Par GarsDuCalvados dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/09/2007, 10h41
  3. Réponses: 7
    Dernier message: 11/06/2007, 20h39
  4. Recharger une JTable avec le résultat d'une requete sql
    Par Premium dans le forum Composants
    Réponses: 2
    Dernier message: 06/06/2007, 15h19
  5. [VB.NET] Remplir une ComboBox avec une requete sql
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/03/2005, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo