Publié le 28/08/2010
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Remplir un JComboBox a partir d'une base de donnee

A partir d'une requęte dans une base de donnée, voici un exemple pour remplir une JComboBox. En effet, bien souvent la liste contient des valeurs que l'utilisateur de l'application doit sélectionner. Le passage d'une serie de donnée stockée dans une base de donnée à un composant graphique tel qu'un jComboBox est assez rapide à faire.

Insérer des elements dans un JComboBox

Explications pour le script:
- maTable est une table MySQL avec un champ nom et un champ prenom,
- jcombobox est un JComboBox posé sur un JFrame par exemple
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
 
/**
 * Remplir un JComboBox à partir d'une base de donnée
 * http://www.fobec.com/java/981/remplir-jcombobox-partir-une-base-donnee.html
 * Axel 2010
 */
public class FromDataBase {
 
    /**
     * Exemple sur jcombobox est un JComboBox ajouté sur un jFrame
     * @param args 
     */
    public static void main(String[] args) {
        Connection dbConnect = null;
        Statement dbStatement = null;
        String SQL = "SELECT nom, prenom FROM maTable";
        try {
            //Supprimer les elements
            jcombobox.removeAllItems();
            //Sélectionner dans la DB
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            dbConnect = DriverManager.getConnection("jdbc:mysql:URL", "user", "password");
            dbStatement = dbConnect.createStatement();
            ResultSet res = dbStatement.executeQuery(SQL);
            //Ajouter les elements 1 a 1
            while (res.next()) {
                jcombobox.addItem(res.getString(0) + " " + res.getString(1));
            }
            res.close();
            dbConnect.close();
        } catch (InstantiationException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FromDataBase.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Si l'on souhaite enregistrer la valeur sélectionnée dans le JComboBox, il est possible d’utiliser une ArrayList pour stocker l'id correspondant de la base de données.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
28/08/2010
Visualisation
vu 7684 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par jmc dans CMS

Lien sur mon site, rubriques Téléchargez http://users.skynet.be/jean-marie.capellen/

Publié par MeepMeep dans tuto

Attention, un petit correctif a apporter :
headerContent-type: $header_contenttype charset: UTF-8
Remplacer charset: UTF-8 par charsetUTF-8
La difference est subtile mais susceptible d'etre m...

Publié par pgts09 dans tuto

Bonjour,
Felicitations pour ce tuto simple, et qui semble repondre exactement ce que je cherchais !
Malheureusement je n'arrive pas faire fonctionner, voici ce que donne mon essai : J'ai pourt...

Publié par max dans java

est que ce framework fonctionne pour une application web ?

Publié par web agency cms Typo3 dans tuto

De nombreux articles sur le web parlent des CMS (Content Management System) et tentent de lister les meilleurs d'entres-eux.
Mais très souvent, sauf quelques rares libres blancs, ces article...