chargement de donnée dans JCombobox

kopass
chargement de donnée dans JCombobox

j’ai un problème c’est que je veux charger une colonne (raison_sociale) de ma table client dans un JCombobox et j’ai tappé ce code mais ça marche pas

Est-ce que vous pouvait m’aide Mme

Note : je développe cette fonctionalité sous JCreator

Merci d’avance
Ce code au niveau de la connexion

public static Vector Loadraison() {
Vector al = null;
try {
connecteraubase();
try {
SQLQuery = MaConnexion.createStatement();
ResultSet rs = SQLQuery.executeQuery("select raison_sociale from client");
al = new Vector();
while (rs.next()) {
al.addElement(rs.getObject("raison_sociale"));
}
} finally {
deconnecteraubase();
}
} catch (SQLException e) {
}
return al;
}

---------------------------------------------------------------------------------------------------------------

Ce code au niveau de l'interface
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
evtfenetreouverte(evt);
}
});

private void evtfenetreouverte(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
Vector t = gestion.loadraison_sociale();
if (t == null) {
//verrou = false;
JOptionPane.showMessageDialog(this, "une erreur existe lors de la requete");
} else if (t.size() == 0) {
JOptionPane.showMessageDialog(this, "aucun client n'est trouver");
} else {
cmbraison.setModel(new DefaultComboBoxModel(t));
verrou = true;
}

}

ezo-esm

Bonjour

je vais essayer de corrigé ce que je peux avec quelques explications

Connection Maconnexion = BDconnexion.connecteraubase()

BDconnexion c'est le nom de la classe ou se trouve le class.forName ou tu as mis la connexion avec ta base de donnees

BDconnexion.SQLQuery = MaConnexion.createStatement();

SQLQury est le statement que tu as declarer dans une autre classe peut etre que c'est a la BDconnexion ou je ne sais pas comment tu la nomme

donc le code dans la classe devient

public static Vector Loadraison() {
        Vector al = null;
        try {
            Connection Maconnexion = BDconnexion.connecteraubase();

            try {
                BDconnexion.SQLQuery = MaConnexion.createStatement();
                ResultSet rs = SQLQuery.executeQuery("select raison_sociale from client");
                al = new Vector();
                while (rs.next()) {
                    al.addElement(rs.getObject("raison_sociale"));
                }
            } finally {
                BDconnexion.deconnecteraubase();
            }
        } catch (SQLException e) {
        }
        return al;
    }

Pour le code au niveau de l'interface

tu vas a l'évènement window - windowOpned de ton frame
et tu insère ton code

 private void windowOpened(java.awt.event.WindowEvent evt) {

        Vector t = gestion.loadraison_sociale();

        if (t == null) {

            JOptionPane.showMessageDialog(this, "une erreur existe lors de la requete");
        } else if (t.size() == 0) {
            JOptionPane.showMessageDialog(this, "aucune facture n'est trouver");
        } else {

            jComboBox1.setModel(new DefaultComboBoxModel(t));

        }
    }

Bonne chance

ezo-esm

autre chose

j'ai remarqué que la méthode appellé dans l'interface et différente de la méthode créer

si la méthode Loadraison() se trouve dans la classe gestion alors
il faut

Vector t = gestion.Loadraison(); 

si dans la classe gestion il y a une méthode "loadraison_sociale()" qui fait appel a "Loadraison()" d'une autre classe alors la c'est juste il faut faire très attention parc que JAVA est sensible a la casse

Bonne chance