从数据库中删除TableView中的行

时间:2017-03-09 16:56:42

标签: java mysql sql javafx

Heey Guys,

所以我可以从TableView中删除某人。我使用此方法生成tableview:

public void initialize(){
    TableView tableview = getUserDeleteTable();
    ObservableList<ObservableList> data;
    Connection c;
    data = FXCollections.observableArrayList();
    try {
        c = Database.getConnection();
        String SQL = "SELECT * FROM User";
        ResultSet rs = c.createStatement().executeQuery(SQL);

        for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
            //We are using non property style for making dynamic table
            final int j = i;
            TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i + 1));
            col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
                public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
                    return new SimpleStringProperty(param.getValue().get(j).toString());
                }
            });

            tableview.getColumns().addAll(col);
            //    System.out.println("Column ["+i+"] ");
        }
        while (rs.next()) {
            //Iterate Row
            ObservableList<String> row = FXCollections.observableArrayList();
            for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                //Iterate Column
                row.add(rs.getString(i));
            }
            //   System.out.println("Row [1] added "+row );
            data.add(row);

        }
        //FINALLY ADDED TO TableView
        tableview.setItems(data);
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("Error on Building Data");
    }

and this on to delete a User from the Tableview:

    delButton.setOnAction( event -> {
        Object selectedItem = tableview.getSelectionModel().getSelectedItem();
        tableview.getItems().remove(selectedItem);

    });

所以现在我很好奇什么是删除数据库之外的最佳解决方案。 tableview中填充了一个User对象,该对象具有ID名称密码email和points。最好的方法是什么?

所以james_D说我应该把User对象放在List中。我得到了一个User类,里面有它需要的所有东西,但我该如何折射呢?

0 个答案:

没有答案