Java добавить элементы в JcomboBox из базы данных - PullRequest
0 голосов
/ 13 июля 2011

Как добавить элементы в выпадающий список из базы данных Access?

Мой код:

    String sql = "SELECT * FROM Owner,Cars "
        + "WHERE carID=CarID_ "
        + "ORDER BY OwnerName;";
    ResultSet dane = zadanie.executeQuery(sql);
    while (dane.next())
    {
        comboBox_2.addItem(new(dane.getString("year")));
    }
    zadanie.close();
} catch(SQLException sqe) {
    System.out.println("SQl error");
}

но выдает "Sql error" кстати этот код:

    String sql="SELECT * FROM Cars ;";
    ResultSet dane = zadanie.executeQuery(sql);
    while (dane.next())
    {       

        System.out.println(
                dane.getString("CarName")+"\t" +
                dane.getString("year"));

    }
    zadanie.close();
} catch(SQLException sqe) {
    System.out.println("SQl error");
}

работает отлично, но если написать таким образом, он показывает ошибку

 comboBox_2.addItem(new String(dane.getString("CarName"))); 
        System.out.println(
                dane.getString("CarName")+"\t" +
                dane.getString("year"));

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Если вы находитесь в потоке, отличном от EDT, важно убедиться, что событие, изменяющее компонент Swing, размещено на EDT.Класс утилит SwingUtilities позволяет вам сделать это.

SwingUtilities.invokeLater(new Runnable(){
    @Override
    public void run(){
        comboBox_2.addItem(new(dane.getString("year")));
    }
});

Но это не ваша текущая проблема.Вместо того, чтобы печатать это бесполезное сообщение (например, Ошибка SQL ), почему бы не напечатать трассировку стека?Также я предлагаю вам прочитать SQLException.

1 голос
/ 13 июля 2011

У вас есть ошибка в вашем SQL на WHERE carID = CarID_" У вас нет действительного идентификатора автомобиля. Надеюсь, это поможет!

0 голосов
/ 13 июля 2011

Похоже, это проблема с вашим SQL ... правильно ли выполняется этот оператор вне Java?

SELECT * FROM owner JOIN cars USING (carID) ORDER BY OwnerName;

Может, у тебя получится лучше?

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