Médiaforma

Java – Exercice JDBC

Print Friendly

Pour vous entraîner à utiliser une base de données, affichez le contenu de la table membres dans un contrôle JTable.

Voici le résultat à obtenir :

 

 

Indices : vous utiliserez les méthodes setHeaderValue() et setValueAt() pour définir respectivement l’en-tête et les données de la table.

 

Solution

Pour que la table soit remplie dès l’ouverture de l’application, vous pouvez utiliser la méthode formWindowActivated() :

private void formWindowActivated(java.awt.event.WindowEvent evt) {
Connection connexion = null;
try {
    Class.forName("com.mysql.jdbc.Driver");
    connexion = DriverManager.getConnection("jdbc:mysql://localhost/java", "root", "");
    Statement state = connexion.createStatement();
    ResultSet result = state.executeQuery("SELECT * FROM membres");
    ResultSetMetaData resultMeta = result.getMetaData();

    //On affecte le nom des colonnes au header du jTable
    TableColumn column1;
    for(int i=0;i<resultMeta.getColumnCount();i++) {
      column1 = jTable1.getTableHeader().getColumnModel().getColumn(i);
      column1.setHeaderValue(resultMeta.getColumnName(i+1).toUpperCase());
    }

    // On affiche les données dans le jTable
    int j=0;
    while(result.next()){
      for(int i = 0; i < resultMeta.getColumnCount(); i++)
          jTable1.setValueAt(result.getObject(i+1).toString(), j, i);
      j=j+1;
      System.out.println();
    }

    result.close();
    state.close();
    connexion.close();

    } catch (Exception e) {
      e.printStackTrace();
    }
}
Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply