Utiliser HashMap pour retrouver la correspondance
Bonjour à tous :
Je vous présente deux blocs de codes :
Code:
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:
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.