Не удается заполнить Jcombobox из базы данных в Java - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь получить информацию из базы данных для заполнения Jcombobox, я пытаюсь использовать следующие коды, но они не работают, во всех из них поле со списком не очищается, когда.

Первая попытка

try {
                    con = Connectionz.getConnection();//Connection Object 
                    pst = con.prepareStatement("SELECT * AS achooserfill FROM Login_Users WHERE [C Team Lead] =?");
                    pst.setString(1, va);
                    rs = pst.executeQuery();

                    while (rs.next()) {
                        achooser.removeAll();
                        achooser.addItem("Please select agent");
                        achooser.addItem(rs.getString("achooserfill"));

           }
     }catch(Exception e){
         System.err.println(e);
     }

Вторая попытка

 try {
                con = Connectionz.getConnection();//Connection Object 
                pst = con.prepareStatement("SELECT * FROM Login_Users WHERE [C Team Lead] =?");
                pst.setString(1, va);
                rs = pst.executeQuery();

                while (rs.next()) {
                    achooser.removeAll();
                    achooser.addItem("Please select agent");
                    achooser.addItem(rs.getString("[VA #]"));

       }
 }catch(Exception e){
     System.err.println(e);
 }

Третья попытка

 try {
                con = Connectionz.getConnection();//Connection Object 
                pst = con.prepareStatement("SELECT [VA #] FROM Login_Users WHERE [C Team Lead] =?");
                pst.setString(1, va);
                rs = pst.executeQuery();

                while (rs.next()) {
                    achooser.removeAll();
                    achooser.addItem("Please select agent");
                    achooser.addItem(rs.getString("[VA #]"));

       }
 }catch(Exception e){
     System.err.println(e);
 }

Во всех случаях результат одинаков,

Error in JCombobox

Я был бы очень признателен за любую информацию или любой ресурс, чтобы исправить ситуацию

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Мне нравится комментарий @ camickr, поэтому я пересматриваю свой ответ.Попробуйте заполнить модель из набора результатов, затем объявите JComboBox:

MutableComboBoxModel model = new DefaultComboBoxModel();
while (rs.next()){ 
    model.addItem(rs.getString("achooserfill"));
}
JComboBox achooser = new JComboBox(model);
0 голосов
/ 05 октября 2018

во всех них поле со списком не очищается.

achooser.removeAll();

Метод removeAll() - это метод Container, а не поле со списком.

Вы хотите:

achooser.removeAllItems();

удалить элементы из поля со списком.

И этот оператор должен находиться вне цикла.

Также,для чего-то подобного вы даже проверяли, что ваш ResultSet содержит данные.Сначала вам нужно просто жестко закодировать данные, чтобы доказать, что метод addItem() работает.Затем, когда вы узнаете, что логика работает, вы делаете код более динамичным, получая данные из базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...