从数据库中获取值后如何清除 jComboBox

Posted

技术标签:

【中文标题】从数据库中获取值后如何清除 jComboBox【英文标题】:How to clear jComboBox after fetching value from database 【发布时间】:2013-05-27 08:41:49 【问题描述】:

谁能帮我解决这个代码?

在这里输入代码我想问一下当从代码中的jComboBox3中选择另一个值时如何清除JcbSub(jComboBox):

1 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) 
2    Connection con;
3    Statement stmt;
4    try 
5        
6        Class.forName("sun.jdbc.odbc.JdbcOdbc");
7     catch (ClassNotFoundException ex) 
8        JOptionPane.showMessageDialog(null, ex);
9    
10    try 
11       con= DriverManager.getConnection("Jdbc:Odbc:food");
12        stmt= con.createStatement();
13        String sql="select i_name from food where category= '"+ jComboBox3.getSelectedItem().toString()+"'";
14        ResultSet RS= stmt.executeQuery(sql);
15        JcbSub.setSelectedItem("");
16        while(RS.next())
17            
18            JcbSub.addItem(RS.getString("i_name"));
19            
20            
21        
22        
23       
24        
25     catch (SQLException ex) 
26        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
27    
28    
29    
30   
31 

【问题讨论】:

如果您希望人们阅读您的代码,请遵循标准 Java 变量命名约定。变量名(RS、JcbSub)不应以大写字符开头。 感谢您的建议...我以后会处理的... :-) 【参考方案1】:

你必须这样做

 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) 
    Connection con;
    Statement stmt;
 try 

    Class.forName("sun.jdbc.odbc.JdbcOdbc");
 catch (ClassNotFoundException ex) 
    JOptionPane.showMessageDialog(null, ex);
 
  //add this to remove all Items
     JcbSub.removeAllItems();
 if(jComboBox3.getSelectedItem() == 0) 
  try 


     con= DriverManager.getConnection("Jdbc:Odbc:food");
     stmt= con.createStatement();
     String sql="select i_name from food where category= '"+jComboBox3.getSelectedItem().toString()+"'";
     ResultSet RS= stmt.executeQuery(sql);
     JcbSub.setSelectedItem("");
     while(RS.next())

        JcbSub.addItem(RS.getString("i_name"));


    



 catch (SQLException ex) 
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);


else if(jComboBox3.getSelectedItem()  == 1) 
//etc... 

// or use Switch case    


【讨论】:

以上是关于从数据库中获取值后如何清除 jComboBox的主要内容,如果未能解决你的问题,请参考以下文章

java怎样获取JComboBox的数据

怀疑从 DAO 函数向 JComboBox 输入数据

更新 JComboBox

java中JComboBox中的数据如何从数据库中取得

如何将 JComboBox 事件处理程序的字符串放入变量中进行查询?

JcomboBox 仅显示一项