mdrcedrick
Messages postés54Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention22 novembre 2007
-
28 juin 2007 à 17:23
mdrcedrick
Messages postés54Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention22 novembre 2007
-
29 juin 2007 à 09:12
bonjour à tous
lors du chargement de mon panel je rempli ma JComboBox avec des données de ma BDD,
depuis un autre panel j'ai un formulaire, une fois rempli je rappel la fonction de remplissage de la JComboBox depuis ce panel
mais quand je retourne sur l'autre panel la Combo est vide ...
voici mon code :
public void
remplirListeProduit()
{
this.listeProduit.removeAllItems();
Connection
connectMySQL =
null;
Statement
ordreMySQL
= null;
ResultSet
resultat
= null;
ResultSetMetaData
métaOrdre
= null;
//chargement du pilote JDBC MySQL
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException aSQLE)
{
JOptionPane.showMessageDialog (null, "Impossible de
charger le pilote de la base de données", "Erreur",
JOptionPane.ERROR_MESSAGE);
}
//connexion à la bdd
try
{
connectMySQL = DriverManager.getConnection (xxxxxxxxxxxxxxxxxxxxxxxx);
}
catch (SQLException aSQLE)
{
JOptionPane.showMessageDialog (null, "Impossible de
se connecter à la base de données\nVeuillez vérifier son état",
"Erreur", JOptionPane.ERROR_MESSAGE);
}
//création de l'ordre SQL
try
{
ordreMySQL = connectMySQL.createStatement();
}
catch (SQLException aSQLE)
{
JOptionPane.showMessageDialog (null, "Impossible de
créer l'ordre SQL\n" + aSQLE.getMessage (), "Erreur",
JOptionPane.ERROR_MESSAGE);
}
// Lecture des résultats d'un ordre SQL
try
{
resultat =
ordreMySQL.executeQuery ("select PRODUIT from STOCK group by PRODUIT
order by PRODUIT ");
}
catch (SQLException aSQLE)
{
JOptionPane.showMessageDialog (null, "Echec lors de
l'exécution de l'ordre SQL\n" + aSQLE.getMessage(), "Erreur",
JOptionPane.ERROR_MESSAGE);
}
// Obtention des résultats
try
{
this.listeProduit.addItem ("Tout");
métaOrdre = resultat.getMetaData ();
while (resultat.next())
{
this.listeProduit.addItem
(resultat.getString("PRODUIT"));
}
}
catch (SQLException aSQLE)
{
JOptionPane.showMessageDialog (null, "Echec lors de
la lecture des résultats\n" + aSQLE.getMessage(), "Erreur",
JOptionPane.ERROR_MESSAGE);
}
//fermeture de la connexion
try
{
connectMySQL.close ();
}
catch (SQLException aSQLE)
{
JOptionPane.showMessageDialog (null, "Erreur
lors de la fermeture de la connexion à la base de données\n" +
aSQLE.getMessage(), "Erreur", JOptionPane.ERROR_MESSAGE);
}
this.listeProduit.repaint();
}
mdrcedrick
Messages postés54Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention22 novembre 2007 29 juin 2007 à 09:12
c'est bon j'ai trouvé une autre solution
vu que mes deux panels se trouvaient dans un JTabbedPane, je lance
l'actualisation de ma JComboBox lors d'un clic sur le JTabbedPane en
implémentant MouseListener et le tour est joué.