0

データベースに と の 2 を持つテーブルcolumncarbrandありcarmodel、このデータをテーブルに挿入しました。

INSERT INTO cars ('carbrand', 'carmodel') 
           VALUES('Honda', 'City'), 
                 ('Honda', 'Civic'),
                 ('Honda', 'Jazz'),
                 ('Toyota', 'Corolla'),
                 ('Toyota', 'Altis');

最初の ComboBox に carbrand を含めてから、2 番目の ComboBox に対応する 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);
    }
}
4

0 に答える 0