tolgasenol Ответов: 0

Не удается заполнить jcombobox в зависимости от другого combobox из postgres


Существует два комбинированных бокса "jComboCins1 и jComboCinsM". Я хочу заполнить jComboCinsM в зависимости от jComboCins1 из postgresql. Вот код, никаких ошибок, но все еще не может заполнить. Заранее благодарю за все ответы.



public class MekleFrame extends javax.swing.JFrame {


        Connection conn = null;
        ResultSet rs = null;
        PreparedStatement pst = null;
        Statement st = null;

    /**
     * Creates new form MekleFrame
     */
    public MekleFrame() {
        initComponents();
        this.setLocationRelativeTo(null);
        this.setResizable(false);
        jTextFielddummy.setVisible(false);



       conn = dbConnection.ConnectDB();
       update_table();
       pop_combo();
    }
private void pop_combo(){

      try {    
        //String cnsCo=jComboCins1.getSelectedItem().toString();
        String sql = "SELECT * from cinsdb WHERE sinif= ?";
        pst=conn.prepareStatement(sql);
        //pst.setString(1,cnsCo);
        pst.setString(1,String.valueOf(jComboCins1.getSelectedItem()));
        rs=pst.executeQuery();

        while (rs.next())
        {
        String cinsad = rs.getString("cinsad");
        jComboCinsM.addItem(cinsad);
        }
    }
    catch(Exception e){

    JOptionPane.showMessageDialog(null, e);

    }

    }
}


Что я уже пробовал:

Если я изменю SQL-запрос без "where" и отключу pst.setString (), я могу заполнить ComboBox. Я предполагаю, что есть что-то неправильное с ResultSet или PreparedStatement. Я пробовал SQL-запрос вида "Select cinsad от cinsdb где интерактивная система обучения sinif= ?", не работает. Кстати, SQL-соединение и запросы работают нормально, проверено.

[no name]

Вы уверены, что "jComboCins1" имеет какую-то ценность? потому что если это не так, то `jComboCins1.getSelectedItem()` вернет `null`
Кроме того, вы, вероятно, должны удалить предыдущие добавленные элементы в "jComboCinsM", прежде чем добавлять новые.

0 Ответов