Как заполнить TableView в JavaFX, используя псевдоним - PullRequest
0 голосов
/ 06 марта 2019

При использовании свинга все работает просто отлично.

String sql= "SELECT idrepair as '№',"
        + "case when repairStatus in (0) then 'Not Done' "
        + "when repairStatus in (1) then 'Closed' "
        + "when repairStatus in (2) then 'Open' "
        + "else 'Unknown' end as  'Status'"
        + "FROM repairjournal";

Я просто хочу новый пользовательский интерфейс с использованием JavaFX, поэтому вот мой код, я бы сказал, мои усилия:

    private void loadTableViewRepList(ObservableList oblist, Connection conn, TableView table) {
            oblist.clear();
            try {
                String sql = "SELECT * FROM repairjournal";
                pst = conn.prepareStatement(sql);
                rs = pst.executeQuery();
                while (rs.next()) {
                    oblist.add(new ModelTableRepairList(
                           rs.getString("idrepair"),
                           rs.getString("case when repairStatus in (0) then 'Not Done' "
               + "when repairStatus in (1) then 'Closed' "
               + "when repairStatus in (2) then 'Open' "
               + "else 'Unknown' end ")
                                       ));
                }
                table.setItems(oblist);
            } catch (SQLException ex) {
                Logger.getLogger(RepairListController
.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

или

    private void loadTableViewRepList(ObservableList oblist, Connection conn, TableView table) {
                oblist.clear();
                try {
                    String sql = "SELECT idrepair, 
case when repairStatus in (0) then 
'Not Done.' when repairStatus in (1) then
 'Closed' when repairStatus in (2) then 'Open' 
                    else 'Unknown' end as 'Status' FROM repairjournal";
                    pst = conn.prepareStatement(sql);
                    rs = pst.executeQuery();
                    while (rs.next()) {
                        oblist.add(new ModelTableRepairList(
                               rs.getString("idrepair"),
                               rs.getString("repairStatus")
                                           ));
                    }
                    table.setItems(oblist);
                } catch (SQLException ex) {
                    Logger.getLogger(RepairListController
    .class.getName()).log(Level.SEVERE, null, ex);
                }
            }

Основной ошибки нет в такой колонке: 'repairStatus'

Есть идеи, как это исправить?Да, я могу переименовать данные, но у меня есть больше таблиц с такими данными в БД.

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