2014-09-09 4 views
0

Я хочу получить имя и идентификатор из базы данных и добавить его в JCombobox. Для этого я использовалПолучить идентификатор и данные из базы данных и добавить в JCombobox

 public void add_Category(JComboBox cmb) { 

     try { 
      String query = "SELECT * FROM categories"; 
      ResultSet rs = stmt.executeQuery(query); 
      while (rs.next()) { 

       String Txtcmb = rs.getString(2).trim(); 
       int idCmb = rs.getInt("id"); 
       Item comboItem = new Item(idCmb, Txtcmb); 
       cmb.addItem(comboitem); //This line add only 1 object in combocox but i have 5 in my database 
      } 
     } catch(Exception e) { 

     } 
    } 

Item.java

public class Item { 
    private int id; 
    private String description; 

    public Item(int id, String description) { 
     this.id = id; 
     this.description = description; 
    } 
    public int getId() { 
     return id; 
    } 

    public String toString() { 
     return description; 
    } 
} 

Теперь проблема, когда я добавить объект в выпадающий список его добавить только один объект, в то время как у меня есть 5 объект в моей базе данных.

Это отображать меня только один пункт в выпадающем списке вместо 5. Еще одна вещь, которую я хочу, чтобы очистить, если я только добавить строку в базу данных, как comboItem.addItem(Txtcmb); то он работает отлично

Любая идея будет оценена. Заранее спасибо.

+0

Единственная причина, по которой это будет добавление, состоит только в том, что из базы данных поступает только один элемент ... или произошла ошибка при обработке второго элемента, но поскольку вы проигнорировали исключение, которое вы бы не знали – MadProgrammer

+0

Попробуйте напечатайте 'idCmb' и' Txtcmb' и посмотрите, сколько результатов вы получили в своем наборе результатов. –

+0

модель для JComboBox должна быть основана на Item (неполном), должна сообщить ListCellRenderer, что для отображения описания (отсутствует там), тогда выбор из JComboBox возвращает идентификатор, для лучшего кода с хорошим объяснением для поиска в сообщениях @camickr (помечено тегом JComboBox) – mKorbel

ответ

0

Спасибо всем. На самом деле я использовал Item comboItem []; до while и и Item comboItem = новый элемент (idCmb, Txtcmb); внутри while. Когда я удаляю Item comboItem []; и очистите мой проект, а затем начните работать. Еще раз спасибо за вашу заботу.