Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建一个2组合框,第一个是类别,另一个是第一个的子类别?_Java_Mysql - Fatal编程技术网

Java 如何创建一个2组合框,第一个是类别,另一个是第一个的子类别?

Java 如何创建一个2组合框,第一个是类别,另一个是第一个的子类别?,java,mysql,Java,Mysql,我在数据库中有一个表,其中有一个2列,分别是carbrand和carmodel,我在表中插入了以下数据: INSERT INTO cars ('carbrand', 'carmodel') VALUES('Honda', 'City'), ('Honda', 'Civic'), ('Honda', 'Jazz'), ('Toyota', 'Corolla'),

我在数据库中有一个表,其中有一个2
,分别是
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”。是的,它充满了数据。