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 :
J'apelle la classe TestBdd depuis la commande suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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. } }*/ } }
Voici le texte qui s'affiche dans la fenêtre de sortie de NetBeans :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 import javax.swing.JComboBox; .... JComboBox comboClients1; ..... comboClients1 = new JComboBox(); ..... TestBdd testBdd = new TestBdd(comboClients1);
Merci pour vos aides !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager