Bonjour à tous :
Je vous présente deux blocs de codes :
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();
		}
 
	}
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
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 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.
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.