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

 Java Discussion :

Comment afficher graphiquement le résultat d'une requête "Select" ?


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut Comment afficher graphiquement le résultat d'une requête "Select" ?
    bonjour a tous

    Est ce que quelqu'un peut me répondre a ma question:
    alors j'ai fait une requête "Select" et pour le moment NetBeans m'affiche le résultat dans la fenêtre d'exécution.
    alors je veux savoir comment je fais pour afficher le résultat avec le graphique est ce que je crée une nouvelle jFrame form ou JFrame panel ou jtable
    merci

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    résultat avec le graphique
    Cela veut dire un tableau de données et un graphique du genre histogramme ?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    juste un tableau de données récupérées

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Pour affichage : JFrame avec un JTable rempli avec le résultat de la requête

  5. #5
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Salut

    en remplissant un DefaultTableModel
    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
     
    int i=0;
    Object[][] DD = {};
    		final String[] EE ={"N°","Date","Champ1","Champ2","Champ3"};
     
    model2=new  DefaultTableModel(DD,EE);	// le model est vide 	 
    ....
     
    			Statement requete = con.createStatement(); 
    			ResultSet r = requete.executeQuery("select * from MouvementStk Order by  DateF Desc ,codeMP");
    			while (r.next()){
    				i++;
    				model2.addRow(new Object []{""+i,
    						r.getDate("DateF").toString(),// 
    						r.getString("Champ1"),//
    						r.getString("Champ2"),//
    						r.getString("Champ3"),// 
     
    				});
    			}
    			}catch(Exception e1) { e1.printStackTrace(); System.out.println("Remplir!!!");  } 
     
    			finally { 
    				try {con.close();} 
    				catch(SQLException e1) {e1.printStackTrace();} 
    			}
    puis affecter ce model à un JTable [/CODE]

  6. #6
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Tu pourras aussi utiliser les JComboBox !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ResultSet r1 = requete.executeQuery("select * from responsable");
    		while (r1.next()){
    			String S=r1.getString(1);
     
    				combo.addItem(S);
    		}

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    Bonjour;

    j'ai essayé ce code mais il ne m'affiche rien: c'est quoi le problème SVP

    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
     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   
     String url = "jdbc:mysql://localhost/snmp";
       Connection con = null;
       try {Class.forName("org.gjt.mm.mysql.Driver");
            con = (Connection) DriverManager.getConnection(url,"root","");
     
    //*****************************************************************************
            int i=0;
                 Object[][] DD = {};
                 final String[] EE ={"Date"};
                 DefaultTableModel model2 = new DefaultTableModel(DD, EE);
                 JTable table = new JTable(model2);
                 Statement requete = (Statement) con.createStatement();
                ResultSet resultat = requete.executeQuery("select ip from snmp.ip");
     
               while (resultat.next()) {
     
    	     model2.addRow(new Object []{resultat.getString(1)});
     
     
           }
       }
     
      catch(Exception e) {  System.out.println("Exception");  }
      finally {
         try {con.close();}
        catch(SQLException e) {e.printStackTrace();}}
     
    }
        }
    dans le form ilya un bouton et jtable

  8. #8
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Est ce qu'on affiche une exception?
    Si oui laquelle?
    As-tu affecté le model à ton JTable??

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    salut,
    il ne m'affiche pas une exception ; et pour l'affection j'ai mis
    JTable table = new JTable(model2);
    dans le code .

  10. #10
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Tu peux mettre le code au niveau de JTable table = new JTable(model2); ??
    Moi Aussi je suis de L'IAG de FSGT mais 2007

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    enchanté moi de ISGT promotion 2010
    alors je vous décrire ce que j'ai fait:
    j'ai crée une classe java forms j'ai mis un bouton et un jtable.
    dans le bouton j'ai mis ce code.

    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
     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
              String url = "jdbc:mysql://localhost/snmp";
       Connection con = null;
       try {Class.forName("org.gjt.mm.mysql.Driver");
            con = (Connection) DriverManager.getConnection(url,"root","");
     
            int i=0;
                 Object[][] DD = {null};
                 final String[] EE ={"Ip"};
                 DefaultTableModel model2 = new DefaultTableModel(DD, EE);
                 JTable table = new JTable(model2);
                 Statement requete = (Statement) con.createStatement();
                ResultSet resultat = requete.executeQuery("select ip from snmp.ip");
     
               while (resultat.next()) {
     
    	    model2.addRow(new Object []{resultat.getString(1)});
     
           }
       }
     
      catch(Exception e) {  System.out.println("Exception");  }
      finally {
         try {con.close();}
        catch(SQLException e) {e.printStackTrace();}}

  12. #12
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Bah t'as ni ajouté ton JTable à ton JFrame ni à à un panneau ni à une JScrollPane...

  13. #13
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut Exemple :
    Je te donne un ptit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    model2=new  DefaultTableModel(DD,EE);
     
    Remplir ();// la méthode de récupération de la BD
     
    T= new JTable(model2);// l'affectation du model 
     
    T.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    P=new JScrollPane(T); 
    P.setBounds(10,120,910,550);
    P.setAutoscrolls(true);
    getContentPane().add(P, BorderLayout.CENTER);

  14. #14
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    on ça marche maintenant
    voila le code manquant
    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
     
    JTableHeader header = table.getTableHeader();
        header.setBackground(Color.yellow);
        JScrollPane pane = new JScrollPane(table);
         JFrame frame = new JFrame("resultat du scan");
            JPanel panel = new JPanel();
            panel.setPreferredSize(new Dimension(1000, 1000));
        panel.add(pane);
     
        frame.add(panel);
        frame.setSize(500,150);
        frame.setUndecorated(true);
        frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);   //  centre
        frame.setVisible(true);

  15. #15
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. [AC-2007] Comment naviguer dans les résultats d'une requête ?
    Par DurDur dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/05/2015, 13h27
  2. Réponses: 10
    Dernier message: 13/09/2011, 17h24
  3. Afficher le premier résultat d'une requête
    Par ab1609 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/03/2011, 13h53
  4. [MySQL] Insérer résultat d'une requête : problème de quote
    Par maxime17s dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/12/2008, 03h42
  5. Réponses: 19
    Dernier message: 26/01/2005, 10h41

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