Java 如何创建一个2组合框,第一个是类别,另一个是第一个的子类别?
我在数据库中有一个表,其中有一个2Java 如何创建一个2组合框,第一个是类别,另一个是第一个的子类别?,java,mysql,Java,Mysql,我在数据库中有一个表,其中有一个2列,分别是carbrand和carmodel,我在表中插入了以下数据: INSERT INTO cars ('carbrand', 'carmodel') VALUES('Honda', 'City'), ('Honda', 'Civic'), ('Honda', 'Jazz'), ('Toyota', 'Corolla'),
列
,分别是carbrand
和carmodel
,我在表中插入了以下数据:
INSERT INTO cars ('carbrand', 'carmodel')
VALUES('Honda', 'City'),
('Honda', 'Civic'),
('Honda', 'Jazz'),
('Toyota', 'Corolla'),
('Toyota', 'Altis');
我希望我的第一个组合框包含carbrand,然后用对应的carmodel填充第二个组合框,反之亦然。目前,这是我编写的代码片段
private void PopulateCarBrandComboBox() {
String sql = "SELECT DISTINCT carbrand FROM cars";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()) {
String nme = rs.getString("carbrand");
carbrandComboBox.addItem(nme);
}
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void PopulateCarModelComboBox() {
String sql = "SELECT * FROM cars WHERE carbrand = ?";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, (String)carbrandComboBox.getSelectedItem());
rs = pst.executeQuery();
while(rs.next()) {
String nme = rs.getString("carmodel");
carmodeleComboBox.addItem(nme);
}
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
问题出在哪里?我的carbrandComboBox和carmodelComboBox中没有任何内容。查询是否返回任何结果?stacktrace?你有db中的数据吗?@qqilihq哦,是的,我忘了提到carbrandComboBox包含1个数据,即“Honda”。是的,它充满了数据。