2014-06-26 3 views
5

Quel est le problème avec mon code ici?Comment insérer des données de mysql dans la liste déroulante?

Je suis en train d'insérer des données de MySQL dans la zone de liste déroulante NetBean

private void btnSandoghMousePressed(java.awt.event.MouseEvent evt) {           
    try { 
     String query = "SELECT `AccountType` FROM `account`"; 
     con = Connect.ConnectDB(); 
     PreparedStatement stm = con.prepareStatement(query); 
     pst = con.prepareStatement(query);     
     ResultSet rs = pst.executeQuery(query); 
     ArrayList<String> groupNames = new ArrayList<String>(); 
     while (rs.next()) { 
      String groupName = rs.getString(4); 
      groupNames.add(groupName); 
     } 
     DefaultComboBoxModel model = new DefaultComboBoxModel(groupNames.toArray()); 
     cmbSemetarID.setModel(model); 
     rs.close();  
    } catch (SQLException e) { 
    System.err.println("Connection Error! it's about date"); 
    } 
} 
+0

Le modèle est-il correctement rempli? – Smutje

+0

Oui le modèle est bon, ArrayList groupNames = new ArrayList (); –

+1

as-tu essayé cela? 'DefaultComboBoxModel model = new DefaultComboBoxModel(); pour (Chaîne nomgroupe: nomsgroup) { model.addElement (nomgroupe); } ' Vous pouvez placer vos résultats un par un dans le comboboxmodel. Peut-être vaut-il mieux initier le DefaultComboBoxModel avec la méthode '.toArray()' de votre groupNames. – Rubinum

Répondre

0

vous avez des problèmes vous essayez parfois d'utiliser le modèle de cette façon ou d'utiliser un Vector. Mieux vaut essayer de faire quelque chose comme,

private void btnSandoghMousePressed(java.awt.event.MouseEvent evt){           
    try { 
     String query = "SELECT `AccountType` FROM `account`"; 
     con = Connect.ConnectDB(); 
     PreparedStatement stm = con.prepareStatement(query); 
     pst = con.prepareStatement(query);     
     ResultSet rs = pst.executeQuery(query); 
     DefaultComboBoxModel model = new DefaultComboBoxModel(); 
     while (rs.next()) { 
      String groupName = rs.getString(4); 
      model.add(groupName); 
     } 

     cmbSemetarID.setModel(model); 
     rs.close();  
    } catch (SQLException e) { 
    System.err.println("Connection Error! it's about date"); 
    } 
} 
+0

lire mon commentaire à OP, mauvais message, contre les bonnes pratiques – mKorbel

0

Peut-être que votre méthode groupNames.toArray() "ne correspond pas" dans le Construktor DefaultComboBoxModel().

Vous pouvez essayer de mettre vos articles dans votre ArrayList un par un avec ceci:

DefaultComboBoxModel model = new DefaultComboBoxModel(); 
for(String groupname : groupNames) 
{ 
    model.addElement(groupname); 
} 
cmbSemetarID.setModel(); 

est comment je remplir mes listes déroulantes.

Questions connexes