Bonjour à tous :
Je vous présente deux blocs de codes :et
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 public void remplirFournisseur(){ connexion = new BDConnectAS400(); String reqette = "SELECT DISTINCT B33STFC.FTFOUL01.RSOCFO FROM B33STFC.FTFOUL01 ORDER BY RSOCFO ASC"; Statement state; ResultSet res; try{ state = connexion.getInstance().createStatement(); res = state.executeQuery(reqette); while(res.next()){ String fournis = res.getString(1); ComboFournisseur.addItem(fournis); } res.close(); }catch(SQLException e){ e.printStackTrace(); } }Le premier est une méthode permettant de remplir un combobox à partir d'une requête et le second affiche le numéro correspondant à la sélection du combobox dans un JTextfield.
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 public JComboBox getComboFournisseur() { if (ComboFournisseur == null){ ComboFournisseur = new JComboBox(); ComboFournisseur.setBounds(135, 130, 352, 22); ComboFournisseur.setSelectedIndex(-1); //Action pour sélectionner le numéro du fournisseur ComboFournisseur.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub connexion = new BDConnectAS400(); Object nomFour = ComboFournisseur.getSelectedItem(); //Requete de selection du numéro du fournisseur String req = "SELECT B33STFC.FTFOUL01.NFOUFO FROM B33STFC.FTFOUL01 WHERE B33STFC.FTFOUL01.RSOCFO = '"+nomFour+"'"; Statement state; ResultSet res; try{ state = connexion.getInstance().createStatement(); res = state.executeQuery(req); while(res.next()){ String numFour = res.getString(1); TxtNumFourniss.setText(numFour); } res.close(); }catch(SQLException ex){ ex.printStackTrace(); } } }); } return ComboFournisseur; }
Le problème est que ces deux actions ne sont pas sans impact sur le temps de réponse car à chaque sélection une requête est lancer pour parcourir la table à la recherche du numéro correspondant.
Je voudrais utiliser HashMap pour afficher la correspondance à chaque selection dans le combobox.
C'est pourquoi je sollicite votre aide les amis pour mettre en place cette méthode.
Partager