Заполните Jcombobox в NetBeans 7.1 - PullRequest
0 голосов
/ 02 марта 2012

Я хочу добавить поле со списком, которое заполняется из базы данных MySQL в NetBeans 7.1. Я сделал простую реализацию, как показано ниже, но это кодирование не работает.

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
    try 
    {
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/combo","root","root123");
        Statement stmnt = (Statement) con.createStatement();
        String SQL = "SELECT * FROM items";
        ResultSet rs = stmnt.executeQuery(SQL);
        while(rs.next()) 
        {
            jComboBox1.addItem(rs.getString("itemcode"));
        }
    } 
    ...
}

Как мне решить эту проблему.

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Допустим, ваш комбинированный список состоит из строковых элементов.Вы должны создать комбинированный список, который будет использовать эти строковые элементы в своем отображении.

String items[] = {...};

Пример объявления комбинированного списка может быть таким:

JComboBox comboBox = new JComboBox(items);

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

int index = 0;
ResultSet rs = statement.executeQuery(SQL);
while(rs.next())
   items[index] = rs.getString("itemcode");

Однако, поскольку вы не знаете, сколько элементов вы будетеизвлечь из базы данных вы можете использовать массив вместо массива, чтобы вы могли динамически добавлять элементы в список.

0 голосов
/ 19 апреля 2013

try {

    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql:///dbname", "username", "password");
    Statement st=con.createStatement();
    Resultset r=st.executeQuary("SELECT * FROM table name");
     while(r.next()){
        Vector v=new Vector();
        ComboBox1.setModel(new DefaultComboBoxModel(v));
     }

} catch (Exception e) {
    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...