IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Utiliser HashMap pour retrouver la correspondance


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Par défaut Utiliser HashMap pour retrouver la correspondance
    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.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 81
    Par défaut
    Je ne vois pas là de difficulté particulière, l'API java est très claire sur l'utilisation de la HashMap:
    - put(clé, valeur) pour entrer les couples dans la table.
    - get(clé) pour obtenir la valeur liée à la clé donnée.

    Ici tes clés sont les éléments de ton comboBox et les valeurs sont les numéros qui leurs correspondent. si tu ne tries pas les éléments de ton comboBox tu peux même te simplifier la vie en utilisant un tableau d'entiers représentant les numéros de ta table, avec en indices leurs positions dans le comboBox. Une fois que tu connais l'éléments sélectionnés dans le combo tu connais son index et donc, grâce au tableau, le numéro associé. non?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser HashMap pour remplir un JTable
    Par the watcher dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 03/09/2010, 19h14
  2. Utiliser Alien pour convertir un deb en rpm
    Par aA189 dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/10/2004, 15h41
  3. [RMI] Probleme pour retrouver la classe implementée.
    Par Koko22 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 16/09/2004, 19h15
  4. Utiliser hylafax pour envoyer des fax
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/07/2004, 21h57
  5. utiliser "if" pour faire deux actions differente
    Par vampyer972 dans le forum C
    Réponses: 2
    Dernier message: 09/05/2004, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo