2014-06-26 59 views
5

我的代码出了什么问题?如何将数据从mysql插入到组合框中?

我试图从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(groupname); } ' 您可以将您的结果逐个放入组合框模型中。也许最好是使用groupNames的'.toArray()'方法初始化DefaultComboBoxModel。 – 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(); 

那我怎么填我的组合框。