Не удается заполнить 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", прежде чем добавлять новые.