【发布时间】:2015-12-04 19:43:56
【问题描述】:
我的数据库中有一个名为product 的表,列有nameprice 和category,有6 个项目与2 个主要类别相关。比方说:
+----------+-------+-----------+
| name | price | category |
+----------+-------+-----------+
| mango | $58 | fruits |
| avocado | $74 | fruits |
| apple | $20 | fruits |
| carrot | $35 | vegetable |
| onions | $40 | vegetable |
+----------+-------+-----------+
我想做2个JComboBox,先选择一个类别,再选择一个JComboBox来加载所有相关的名称(如果我选择fruit,那么其他JComboBox会显示所有的水果项目)。
这是我的代码,它从数据库中选择所有 name 并将其加载到组合框。
ArrayList<String> list = new ArrayList<String>();
try {
DBconnector db = new DBconnector();
con= db.connect();
String qr = "SELECT name FROM product";
PreparedStatement stm = con.prepareStatement(qr);
ResultSet rs = stm.executeQuery(qr);
while(rs.next()){
String name = rs.getString("name");
//add group list to the arraylist
list.add(name);
}
rs.close();
//Populate the comboBox
if(!list.isEmpty()){
DefaultComboBoxModel model = new DefaultComboBoxModel(list.toArray());
combItems.setModel(model);
}else{
System.out.println("List is empty...");
}
} catch (SQLException ex) {
System.out.println("Data not retrieved");
ex.printStackTrace();
}
return list;
有人可以帮帮我吗?
【问题讨论】:
-
select name from product where category = ???您可能想将问题缩小到您遇到问题的部分。使用组合框;编写查询;别的东西……