2014-06-26 18 views
5

Co jest nie tak z moim kodem?Jak wstawić dane z mysql do combobox?

Próbuję wstawić dane z mysql do combobox w 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

Czy model jest prawidłowo wypełniony? – Smutje

+0

Tak, model jest w porządku, ArrayList groupNames = new ArrayList (); –

+1

próbowałeś tego? 'DefaultComboBoxModel model = new DefaultComboBoxModel(); dla (String groupname: groupNames) { model.addElement (nazwa grupy); } ' Możesz umieścić swoje wyniki jeden po drugim w comboboxmodel. Być może lepiej jest zaimplementować DefaultComboBoxModel za pomocą metody '.toArray()' w twoich nazwach grup. – Rubinum

Odpowiedz

0

Masz problemy czasami spróbować użyć Model ten sposób lub za pomocą Vector. Lepiej spróbować zrobić coś podobnego,

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

przeczytać mój komentarz do OP, zły post, przeciwko wszystkim dobrym praktykom – mKorbel

0

Może metoda Twój groupNames.toArray() nie "pasuje" do DefaultComboBoxModel() construktor.

Można spróbować umieścić swoje przedmioty do swojego ArrayList jeden po drugim z tego:

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

Ów jak wypełnić moje comboboxes.

Powiązane problemy