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

JDBC Java Discussion :

Remplir un JCombobox avec des données d'une base


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut Remplir un JCombobox avec des données d'une base
    Bonjour,

    je voudrais remplir une liste déroulante en java à partir d'une table sql.

    Voici mon code
    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
     JComboBox<String> liste = new JComboBox<String>();
    		    try
    		    {
    				Class.forName("com.mysql.jdbc.Driver");
     
    				laConnection =  (Connection) DriverManager.getConnection("jdbc:mysql://localhost/application?useSSL=false","boutheina","30071986"); 
     
    				PreparedStatement St= (PreparedStatement) laConnection.createStatement();
    		    Rs = St.executeQuery("select designation from produit");
    		    while (Rs.next())
    		    {
    		           //Pour affecter une valeur de base de données à un Combobox 
    		           liste.addItem(Rs.getString("designation"));
    		    }
    		    } 
    		    catch
    			(Exception e)
    			{
    			            System.out.print("impossible de se connecter à la base");
     
    			}
    sachant que ce code existe dans le constructeur de la méthode puisque je voudrais que lorsque j'ouvre mon JFrame la liste sera rempli.

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    et qu´est ce que tu as comme probleme?
    eric

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    rien n'est affiché dans la liste déroulante est un message qui me dit impossible de se connecter à la base de données.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Le message qui s'affiche, c'est toi qui l'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (Exception e)
    			{
    			            System.out.print("impossible de se connecter à la base");
     
    			}
    Si tu avais écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (Exception e)
    			{
    			            System.out.print("Mon chat a des bretelles dépareillées.");
     
    			}
    ça t'aurait affiché "Mon chat a des bretelles dépareillées" !

    Il faut afficher le message d'erreur adéquate pour avoir le détail. Donc au minimum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    (Exception e)
    			{
    			            System.out.print("Erreur pendant l'accès à la base de données...");
                                         e.printStackTrace();
     
    			}
    Mais lorsqu'on traite les exceptions, le mieux est de les traiter précisemment : si une méthode soulève une SQLException, on attrape une SQLException, pas une Exception. Ce qui permet d'avoir des informations plus spécifiques (voir les méthodes getSQLState(), getErrorCode() ou encore getNextException()). La documentation Oracle donne d'ailleurs une méthode toute faite pour tracer les exceptions SQL ici.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    et aussi,
    peux-tu nous donner le code dans lequel tu relies ta combobox a la JFrame principale, ainsi que le Model que tu appliques a ta combobox.

    Merci


    Eric

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    voici les erreurs affichées:
    impossible de se connecter à la basejava.lang.ClassCastException: com.mysql.jdbc.StatementImpl cannot be cast to java.sql.PreparedStatement
    at Distributeur.Order.<init>(Order.java:60)
    at Distributeur.Order.main(Order.java:87)

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    voici le code complet:
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    package Distributeur;
     
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
     
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    import javax.swing.border.Border;
    import javax.swing.border.LineBorder;
     
    public class Order implements ActionListener {
    		private JFrame f;
    		private JPanel p;
    		private JButton b1;
    		private JButton b2,b3;
    		private JLabel lab1;
    		private JLabel lab2;
    		private JLabel lab3;
    		private JRadioButton rd1;
    	    private JRadioButton rd2;
    	    private JTextField text1;
    	    private JPasswordField text2;
    	    Connection laConnection;
    	    ResultSet Rs = null;
    	    public Order(){
    	    	f=new JFrame();
    	    	f.setTitle("Make an Order");
    	    	f.setVisible(true);
     
    		    f.setSize(580, 380);
     
    		    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		    f.setLocationRelativeTo(null);
    		    p=new JPanel(new GridBagLayout());
    		    p.setBackground(Color.cyan);
    		    lab1=new JLabel("Product List");
     
    		    JComboBox<String> liste = new JComboBox<String>();
    		    try
    		    {
    				Class.forName("com.mysql.jdbc.Driver");
     
    				laConnection =  (Connection) DriverManager.getConnection("jdbc:mysql://localhost/application?useSSL=false","boutheina","30071986"); 
     
    				PreparedStatement St= (PreparedStatement) laConnection.createStatement();
    		    Rs = St.executeQuery("select designation from produit");
    		    while (Rs.next())
    		    {
    		           //Pour affecter une valeur de base de données à un Combobox 
    		           liste.addItem(Rs.getString("designation"));
    		    }
    		    } 
    		    catch
    			(Exception e)
    			{
    			            System.out.print("impossible de se connecter à la base");
    			            e.printStackTrace();
     
    			} 
    		    Font policeL = new Font("Times New Roman", Font.BOLD, 16);
    		    Font policeC= new Font("Arial", Font.BOLD, 18);
    		    Border thickBorder = new LineBorder(Color.black, 3);
     
    		    GridBagConstraints c=new GridBagConstraints();
    		    p.add(lab1);
    		    p.add(liste);
    		    f.add(p);
    		    f.setVisible(true);
     
    }
    	    public static void main(String[]args){
    			new Order();
    		}
    		@Override
    		public void actionPerformed(ActionEvent arg0) {
    			// TODO Auto-generated method stub
     
    		}
    }

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    La méthode createStatement() créé une instance de classe qui étend java.sql.Statement, pas java.sql.PreparedStatement (caster l'un vers l'autre n'y change rien). Pour créer un PreparedStatement, il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PreparedStatement statement = aConnection.prepareStatement("select designation from produit");
    try(ResultSet resultSet = statement.executeQuery()) {
       /**... parcourt du résultat ... **/
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    voici le nouveau code:
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    package Distributeur;
     
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
     
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    import javax.swing.border.Border;
    import javax.swing.border.LineBorder;
     
    public class Order implements ActionListener {
    		private JFrame f;
    		private JPanel p;
    		private JButton b1;
    		private JButton b2,b3;
    		private JLabel lab1;
    		private JLabel lab2;
    		private JLabel lab3;
    		private JRadioButton rd1;
    	    private JRadioButton rd2;
    	    private JTextField text1;
    	    private JPasswordField text2;
    	    Connection laConnection;
    	    ResultSet Rs = null;
    	    public Order(){
    	    	f=new JFrame();
    	    	f.setTitle("Make an Order");
    	    	f.setVisible(true);
     
    		    f.setSize(580, 380);
     
    		    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		    f.setLocationRelativeTo(null);
    		    p=new JPanel(new GridBagLayout());
    		    p.setBackground(Color.cyan);
    		    lab1=new JLabel("Product List");
     
    		    JComboBox<String> liste = new JComboBox<String>();
    		    try
    		    {
    				Class.forName("com.mysql.jdbc.Driver");
     
    				laConnection =  (Connection) DriverManager.getConnection("jdbc:mysql://localhost/application?useSSL=false","boutheina","30071986"); 
     
    				PreparedStatement statement = laConnection.prepareStatement("select designation from produit");
    				try(ResultSet resultSet = statement.executeQuery()) {
     
    		           //Pour affecter une valeur de base de données à un Combobox 
    		           liste.addItem(Rs.getString("designation"));
    		    }
     
    		    }
    		    catch
    			(Exception e)
    			{
    			            System.out.print("impossible de se connecter à la base");
    			            e.printStackTrace();
     
    			} 
    		    Font policeL = new Font("Times New Roman", Font.BOLD, 16);
    		    Font policeC= new Font("Arial", Font.BOLD, 18);
    		    Border thickBorder = new LineBorder(Color.black, 3);
     
    		    GridBagConstraints c=new GridBagConstraints();
    		    p.add(lab1);
    		    p.add(liste);
    		    f.add(p);
    		    f.setVisible(true);
     
    }
    	    public static void main(String[]args){
    			new Order();
    		}
    		@Override
    		public void actionPerformed(ActionEvent arg0) {
    			// TODO Auto-generated method stub
     
    		}
    }
    voici l'erreur affiché:
    impossible de se connecter à la basejava.lang.NullPointerException
    at Distributeur.Order.<init>(Order.java:64)
    at Distributeur.Order.main(Order.java:87)

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Oui, m'enfin, il suffit pas de copier/coller le code sans réfléchir : j'ai appelé la variable de type ResultSet dans mon exemple, alors que tu utilisais Rs, et comme tu as copier/coller direct mon exemple, sans changer le nom dans ton code (celui dans mon extrait ou le tien) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste.addItem(Rs.getString("designation"));
    et que Rs est déclarée ailleurs et initialisée à null, tu obtiens forcément une NullPointerException...

    Ceci est le genre de probème que tu dois pouvoir régler tout seul : la trace d'indique la ligne où se trouve le problème. Il te suffit de l'analyser : de chercher pour chaque variable, laquelle pourrait contenir null, pourquoi, et si c'est normal qu'elle contienne null, ou pourquoi on utilise cette variable alors qu'elle vaut null.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    s'il vous plait
    peut etre c'est facile pour vous mais je n'arrive pas à bien comprendre:
    voici le code
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    package Distributeur;
     
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
     
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    import javax.swing.border.Border;
    import javax.swing.border.LineBorder;
     
    public class Order implements ActionListener {
    		private JFrame f;
    		private JPanel p;
    		private JButton b1;
    		private JButton b2,b3;
    		private JLabel lab1;
    		private JLabel lab2;
    		private JLabel lab3;
    		private JRadioButton rd1;
    	    private JRadioButton rd2;
    	    private JTextField text1;
    	    private JPasswordField text2;
    	    Connection laConnection;
    	 //   ResultSet Rs = null;
    	    public Order(){
    	    	f=new JFrame();
    	    	f.setTitle("Make an Order");
    	    	f.setVisible(true);
     
    		    f.setSize(580, 380);
     
    		    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		    f.setLocationRelativeTo(null);
    		    p=new JPanel(new GridBagLayout());
    		    p.setBackground(Color.cyan);
    		    lab1=new JLabel("Product List");
     
    		    JComboBox<String> liste = new JComboBox<String>();
    		    try
    		    {
    				Class.forName("com.mysql.jdbc.Driver");
     
    				laConnection =  (Connection) DriverManager.getConnection("jdbc:mysql://localhost/application?useSSL=false","boutheina","30071986"); 
     
    				PreparedStatement statement = laConnection.prepareStatement("select designation from produit");
    				try(ResultSet Rs = statement.executeQuery()) {
     
    		           //Pour affecter une valeur de base de données à un Combobox 
    		           liste.addItem(Rs.getString("designation"));
    		    }
     
    		    }
    		    catch
    			(Exception e)
    			{
    			            System.out.print("impossible de se connecter à la base");
    			            e.printStackTrace();
     
    			} 
    		    Font policeL = new Font("Times New Roman", Font.BOLD, 16);
    		    Font policeC= new Font("Arial", Font.BOLD, 18);
    		    Border thickBorder = new LineBorder(Color.black, 3);
     
    		    GridBagConstraints c=new GridBagConstraints();
    		    p.add(lab1);
    		    p.add(liste);
    		    f.add(p);
    		    f.setVisible(true);
     
    }
    	    public static void main(String[]args){
    			new Order();
    		}
    		@Override
    		public void actionPerformed(ActionEvent arg0) {
    			// TODO Auto-generated method stub
     
    		}
    }
    l'erreur suivante est affiché
    impossible de se connecter à la basejava.sql.SQLException: Before start of result set
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
    at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:790)
    at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5240)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5163)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5202)
    at Distributeur.Order.<init>(Order.java:64)
    at Distributeur.Order.main(Order.java:87)

  12. #12
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Un ResultSet, c'est un conteneur qui peut contenir plusieurs réponses (une requête unique SELECT peut avoir 1 ou plusieurs enregistrements en résultat) : il faut donc parcourir le résultat pour récupérer chaque résultat. La méthode next() teste s'il existe encore un résultat non lu dans le ResultSet, et, si c'est le cas, se positionne dessus pour qu'on puisse lire les valeurs de chaque colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    try(ResultSet resultSet = statement.executeQuery()) {
     
         while( resultSet.next()) { // tant qu'il y a des enregistrements, on se positionne sur le prochain
     
     
                 liste.addItem(resultSet.getString("designation")); // là, on va chercher la valeur du champ qui s'appelle désignation dans l'enregistrement actuellement positionné
     
         } // à chaque boucle, on va avancer dans la liste des enregistrements avec l'appel de .next(), et donc on va remplir la combo avec chaque valeur
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  13. #13
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Points : 23
    Points
    23
    Par défaut
    Merci bien le pb est résolu et j'ai bien compris.

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

Discussions similaires

  1. Remplir un tableau avec des données d'une autre feuille
    Par nomade333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/04/2012, 13h17
  2. Réponses: 3
    Dernier message: 02/10/2011, 15h50
  3. [MySQL] Remplir une liste déroulante avec des données de la base de données
    Par moukit233 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 12/08/2009, 12h05
  4. [MySQL] Menu déroulant avec des données d'une base MySQL
    Par kamclasse dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 06/08/2008, 18h02
  5. [MySQL] Remplir un array() avec des données issues d'une bdd
    Par fichtre! dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/12/2006, 18h03

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