Запрос к базе данных не работает внутри слушателя javafx ComboBox - PullRequest
0 голосов
/ 14 марта 2019

Я заполнил поле со списком в javafx с записями базы данных. Теперь проблема в том, что когда я получил объект Id , выбрав элемент поля со списком. Я пытаюсь извлечь весь объект из базы данных по Id и установить значения объекта для других полей. но после выполнения запроса я получил комбинированное окно выбранное значение V1 или V2 вместо объекта

вот мой код

tcVersion.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal)


                 int id=tcVersion.getSelectionModel().getSelectedItem().getId();
               TestCase tCase=testCaseDao.getTestCase(id);
            priorityCB.setValue(tCase.getTestCasepriority());
                   stateCB.setValue(tCase.getTestCaseState());
                   automatedStatusCB.setValue(tCase.getTsmAutomatStatus());

        });

Здесь строка first дает мне Id объекта, но в строке 2nd он не получает объект из базы данных. Есть ли способ достичь этого. Спасибо

TestCaseDao

public class TestCaseDao extends JdbcDaoSupport implements TestCaseDao {
          public TestCase getTestCase(int tcId) {
String getTestCaseSql = "select * from cmatrix_testcase_mapping where tsm_key=?"
                return getJdbcTemplate().queryForObject(getTestCaseSql, new RowMapper<TestCase>() {
                    @Override
                    public TestCase mapRow(ResultSet rs, int rownumber) throws SQLException {
                        TestCase testCase = new TestCase();
                        try {
                            testCase.setTestCaseId(rs.getInt("tsm_key"));
                            testCase.setArea_key(rs.getInt("tsm_apa_key"));
                            testCase.setTestCaseName(rs.getString("tsm_name"));
                            testCase.setParentKey(rs.getString("tsm_parent_key"));
                            testCase.setTsmAutomatStatus(rs.getString("tsm_automat_status"));
                            testCase.setTestCasepriority(rs.getString("tsm_priority"));
                            testCase.setTestCaseState(rs.getString("tsm_state"));
                            testCase.setTestType(rs.getString("tsm_test_type"));
                        } catch (Exception e) {
                            System.out.println(e.getMessage());
                        }
                        return testCase;

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