2014-06-26 3 views
5

Что случилось с моим кодом здесь?Как вставить данные из mysql в combobox?

Я пытаюсь вставить данные из MySQL в выпадающий список в 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

Является ли модель заполненной должным образом? – Smutje

+0

Да, модель в порядке, ArrayList groupNames = new ArrayList (); –

+1

Вы пробовали это? 'DefaultComboBoxModel model = new DefaultComboBoxModel(); для (String groupname: groupNames) { model.addElement (имя группы); } ' Вы можете поместить свои результаты по одному в comboboxmodel. Возможно, лучше вместо этого запустить метод DefaultComboBoxModel с помощью метода '.toArray()' ваших имен групп. – Rubinum

ответ

0

Вы получаете проблемы иногда вы пытаетесь использовать модель таким образом или с помощью Vector. Лучше попытаться сделать что-то вроде,

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

прочитал мой комментарий к OP, неправильный пост, против всех хороших практик – mKorbel

0

Может быть, ваш метод groupNames.toArray() не "вписывается" в DefaultComboBoxModel() construktor.

Вы можете попытаться положить свои вещи в вашем ArrayList один за другим с этим:

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

То, как я заполняю свои выпадающие списки.