problèmes sur un combobox dans une classe appelée
Bonjour,
Je rencontre un problème avec un comboBox. Je n'arrive pas à écrire la commande "addItem" que l'on écrit normalement après le point : exemple : maComboBox.addItem(strVilleClient);
La liste de cette (ce ?) comboBox doit être remplie à partir d'une base de données que j'ai crée en PreparedStatement et qui (normalement) fonctionne.
Dans le code, j'ai inséré plusieur system.out qui renvoie du texte, ce qui me prouve que les lignes sont bien lues. Et justement, je vois que ma comboBox1 n'est pas lue car le system.out ne s'affiche pas. Pourtant, cette comboBox est dans une simple boucle conditionnelle "WHILE" ....
La comboBox est déclarée dans l'autre classe d'où j'apelle la classe TestBdd.
voici le code :
Code:
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| //import com.mysql.jdbc.PreparedStatement;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestBdd {
TestBdd(Object comboClients1)
{
// Variables relatives à la connexion à la base de données
String url = "jdbc:mysql://localhost:3306/BDD";
String utilisateur = "strUser";
String motDePasse = "pwd";
//Connection connexion = null;
//chargement du pilote
try
{
Class.forName("com.mysql.jdbc.Driver");
//Class.forName("mysql-connector-java-5.1.29-bin.jar");
System.out.println("chargement pilote testBdd");
}
catch (ClassNotFoundException e)
{
System.out.println("erreur ClassNotFoundException e dans testBdd");
}
//Connection à la base de données
try
{
System.out.println("connexion testBdd");
Connection connexion = DriverManager.getConnection( url, utilisateur, motDePasse );
}
catch (SQLException e)
{
System.out.println("SQLException erreur testBdd");
}
try
{
Connection connexion = DriverManager.getConnection( url, utilisateur, motDePasse );
String sql = "SELECT * FROM client WHERE ville = '?'";
PreparedStatement prep1 = connexion.prepareStatement(sql);
ResultSet rs = prep1.executeQuery(sql);
while (rs.next())
{
String villeClient = rs.getString("ville");
comboClients1.addItem(villeClient);
}
System.out.println(prep1 + "dans testBdd");
}
catch (SQLException e)
{
e.printStackTrace();
System.out.println("erreur SQLException requete dans testBDD");
}
/*finally
{
if ( connexion != null )
try
{
// Fermeture de la connexion
System.out.println("fermeture connexion dans RecBdd !?!");
connexion.close();
}
catch ( SQLException ignore )
{
// Si une erreur survient lors de la fermeture, il suffit de l'ignorer.
}
}*/
}
} |
J'apelle la classe TestBdd depuis la commande suivante :
Code:
1 2 3 4 5 6 7 8 9
|
import javax.swing.JComboBox;
....
JComboBox comboClients1;
.....
comboClients1 = new JComboBox();
.....
TestBdd testBdd = new TestBdd(comboClients1); |
Voici le texte qui s'affiche dans la fenêtre de sortie de NetBeans :
Code:
1 2 3 4 5
| chargement pilote testBdd
connexion testBdd
com.mysql.jdbc.JDBC4PreparedStatement@15fff9c: SELECT * FROM client WHERE ville = '?'dans testBdd
chargement pilote commande afficher
connexion BDD commande afficher |
Merci pour vos aides !!!