Обновление таблицы БД после редактирования таблицы jafavFx - PullRequest
0 голосов
/ 06 ноября 2019

Прямо сейчас я пытаюсь реализовать редактируемое Tableview с помощью javafx, и у меня есть одна проблема. Пока что я могу дважды щелкнуть по ячейке и написать новое значение внутри нее. Но проблема в том, что я не могу обновить базу данных

Вариант использования заключается в том, что я могу добавлять маршруты в форму, и я должен иметь возможность редактировать эти маршруты, поэтому при добавлении

Покавот что я попробовал:

Код для редактирования таблицы

 public void editTable() throws SQLException {

// This is in order to fill the box with the db values. But it is empty

            ObservableList<String> planes = FXCollections.observableArrayList();
            ObservableList<String> startFlughafen = FXCollections.observableArrayList();
            ObservableList<String> zielFlughafen = FXCollections.observableArrayList();


            Statement stateMentAirplane = connection.createStatement();
            ResultSet myRsAirplane = stateMentAirplane.executeQuery(
                    "select * from gesellschaftflugzeuge where fluggesellschaft =\"" + fluggesellschaft + "\"");
            while (myRsAirplane.next()) {
                planes.add(myRsAirplane.getString("Hersteller"));

            }

            startAirport.setCellFactory(ComboBoxTableCell.forTableColumn());
            airplane.setCellFactory(ComboBoxTableCell.forTableColumn());



        }




        public void prepareUpdateTable( String startFlughafen
                ) throws SQLException {
            PreparedStatement pStatement = connection
                    .prepareStatement("Update fluglinie set startFlughafen =? ");

            pStatement.setString(1, startFlughafen
                    );




        }

        public void initiateUpdateTable() {
            try {
                prepareUpdateTable(startAirport.getCellFactory().toString());
            } catch (NumberFormatException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

Инициализация таблицы

public void initializeTable() {

        try {

            // Ablesen
            Statement pStatement = connection.createStatement();
            flightList = FXCollections.observableArrayList();
            ResultSet myRs = pStatement
                    .executeQuery("select * from fluglinie where fluggesellschaft =\"" + fluggesellschaft + "\"");
            while (myRs.next()) {
                flightList.add(new flightRouteAddModel(myRs.getString("startFlughafen"),
                        myRs.getString("zielFlughafen"), myRs.getString("startDatum"), myRs.getString("flugzeug"),
                        myRs.getInt("intervall"), 

            }

        } catch (Exception e) {
            System.out.println(e);

        }

        startAirport.setCellValueFactory(new PropertyValueFactory<>("startAirport"));
        targetAirport.setCellValueFactory(new PropertyValueFactory<>("targetAirport"));
        flightDate.setCellValueFactory(new PropertyValueFactory<>("flightDate"));
        airplane.setCellValueFactory(new PropertyValueFactory<>("airPlane"));
        table.setEditable(true);
        table.setItems(flightList);
        initiateUpdateTable();

        try {
            editTable();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Благодарю вас за все ответы до руки

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