Java 如何在从数据库获取值后清除jComboBox
有人能帮我解决这个问题吗 在这里输入代码我想问的是,当从代码中的JCombox3中选择另一个值时,如何清除JcbSub(JCombox3):Java 如何在从数据库获取值后清除jComboBox,java,swing,jdbc,jcombobox,comboboxmodel,Java,Swing,Jdbc,Jcombobox,Comboboxmodel,有人能帮我解决这个问题吗 在这里输入代码我想问的是,当从代码中的JCombox3中选择另一个值时,如何清除JcbSub(JCombox3): 1 private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) { 2 Connection con; 3 Statement stmt; 4 try { 5 6 Class.forName("sun.jdbc.odbc.Jdb
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 }
你必须这样做
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
}
如果您希望人们阅读您的代码,请遵循标准Java变量命名约定。变量名(RS,JcbSub)不应以大写字符开头。感谢您的建议…我将在将来处理它…:-)