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

JDBC Java Discussion :

afficher une base de donnée dans une fenêtre java


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 6
    Points
    6
    Par défaut afficher une base de donnée dans une fenêtre java
    Bonjour a tous!

    J'aimerai afficher le tableau d'une base de donnée dans une fenêtre java.
    J'arrive à créer une fenêtre,
    j'arrive à récupérer mes données de la base de donnée avec le système println,
    Mais pas à l'afficher sur la fenêtre.

    Pouvez-vous m'aider?

    Merci d'avance.

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    As tu essayé d'utiliser une JTable ?

    Fais une recherche sur le forum, ce sujet est assez fréquent ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Depuis hier, j'ai fait pas mal de recherche et effectivement, une JTable semblerait être une solution.
    J'ai trouvé un ou deux exemple de Jtable, mais je n'arrive pas à le combiner avec mon programme de base de donnée pour afficher mes données dans le JTable.

    Est-ce que quelqu'un aurait un exemple qui combine JTable et requête sql ?

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    pour connaitre le nombre de colonnes, leurs noms ... il faut regarder les metadata de ton resultset.

    Pour remplir ta tbale ensuite tu n'as plus qu'à parcourir ces resultats. En cherchant sur le site(Forum, FAQ ...) tu trouveras plusieurs réponses à tes questions.

    Sinon, ça m'étonne que sur le net tu n'ai pas trouvé un seul exemple. La simple recherche "JTable Resultset" me donne pleins de resultats exploitables ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    je ne connaissais pas le resultset, et les résultats de mes recherches avec le mot "JTable" n'était pas concluant.
    Merci.
    Je vais refaire ue recherche.

  6. #6
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par snyve
    je ne connaissais pas le resultset
    pourtant

    Citation Envoyé par snyve
    j'arrive à récupérer mes données de la base de donnée avec le système println
    si tu affiches tes données c'est en passant par un resultset non ?


    [EDIT]
    Apparemment il faut passer par un TableModel plutot que par un JTable
    voici un exemple assez simple.

    sinon penses à zieuter vers les tutos de sun qui sont très complets et variés. (exemple)
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Merci, je vais regarder ça.
    J'ai mis mon code si dessous. En fait, au lieu d'afficher les informations de ma requête dans la console, je voudrais les afficher dans un tableau, sur un panneau.


    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    package testsql;
     
    import java.sql.*;
    import java.io.*;
    import java.util.Scanner;
     
    class testsql{
     
     
     
     
        public static void main(String[] args){
     
            String pilote = "org.postgresql.Driver";
            try {
     
                Class.forName(pilote);
                System.out.println("Driver chargé");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
     
            try{
     
                Connection connexion = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres","postgres","postgres");
     
                Statement instruction = connexion.createStatement();
     
                ResultSet resultat = instruction.executeQuery("SELECT * FROM client");
                while(resultat.next()){
     
                    System.out.println("---------------------------");
                    System.out.println("Nom du client: "+resultat.getString("ncli"));
                    System.out.println("Nom: "+resultat.getString("nom"));
                    System.out.println("adresse: "+resultat.getString("adresse"));
                    System.out.println("Ville: "+resultat.getString("ville"));
                    System.out.println("Statut: "+resultat.getString("statut"));
     
                }
            } catch (Exception e){
     
               e.printStackTrace();
            }
     
        }
     
    }

  8. #8
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par snyve, dans son premier message
    j'arrive à récupérer mes données de la base de donnée avec le système println,
    ben oui rien de nouveau ... Il faut utiliser un TableModel apparemment. Pourquoi ne te bases tu pas sur l'exemple fourni ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Je souhaite faire a peu pres la meme manip, j'ai donc suivi cette exemple :
    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
    // TableModel definition
    String[] tableColumnsName = {"col 1","col 2","col 3"}; 
    DefaultTableModel aModel = (DefaultTableModel) aTable.getModel();
    aModel.setColumnIdentifiers(tableColumnsName);
     
    // the query
    ResultSet rs = 
       statement.executeQuery("select col1,col2,col3 from mytable");
     
    // 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);
    mais j'ai pas saisi ce que c'est le " aTable" ??? merci

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé ce que c'etait, une Jtable, tout simplement

    maintenant, j'arrive a avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.swing.JTable[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=0,editingRow=0,gridColor=javax.swing.plaf.ColorUIResource[r=122,g=138,b=153],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],showHorizontalLines=true,showVerticalLines=true]
    Je souhaite donc l'afficher, mais lorsque je fait sur le JPanel d'accueil ( pan), l'ajout de la Jtable nommé test par:
    ca m'affiche un carré blanc, mais pas ma talbe ... pk ?

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    en meme tps, je viens de m'apercevoir ,que c'est finalement une table vide ...

    Mais je sais pas pourquoi ?

    autre question : un resultSet c'est serializable ?

  12. #12
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 29
    Points : 29
    Points
    29
    Par défaut probleme au niveau de recuperation de donne apartir de ResultSet sur une tableau
    Desole mon ami ,mais nous avons les memes problemes .
    Si j'arrivera a le resoudre je doit publie la solution.
    bon courage

  13. #13
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 29
    Points : 29
    Points
    29
    Par défaut probleme au niveau de recuperation de donne apartir de ResultSet sur une tableau
    Desole mon ami ,mais nous avons les memes problemes .
    Si j'arrivera a le resoudre je doit publie la solution.
    bon courage

  14. #14
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    vous pouvez réutiliser le code :
    http://www.developpez.net/forums/sho...d.php?t=264063

    il y a un composant style jtable (ou jxtable je en sais plus) pour afficher en tableau une requete, j'espere que ca vous servira.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  15. #15
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    Bon allez, encore un lien, ça peut toujours servir

    http://forum.java.sun.com/thread.jsp...hreadID=497641

Discussions similaires

  1. inserer les données d'une base de données dans une autres?
    Par enstein8 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/10/2011, 13h33
  2. Réponses: 10
    Dernier message: 12/01/2010, 11h06
  3. Afficher le contenue d'une base de données dans une liste
    Par fdoncev dans le forum SharePoint
    Réponses: 3
    Dernier message: 16/07/2008, 18h00
  4. Réponses: 5
    Dernier message: 10/01/2008, 08h47

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