я видел так много ответов, но мне это не подходит, потому что я использую цикл для генерации таблицы, а не определенного класса
я хочу обновить таблицу, которая генерирует данные из цикла.
Я пытался обновить таблицу, но сейчас работает
я попытался построить дату снова, но она дублирует таблицу
Здесь ячейки, сгенерированные циклом
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);
table.setItems(data);
}
Вот кнопка добавления
buttonAdd.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent t){
try {
stmt.executeUpdate("INSERT into stock VALUES('"
+ fieldCategoryID.getText()+ "','" + fieldCategoryName.getText() + "','" + fieldAmount.getText() + "','" + fieldCostPrice.getText()+ "','" + fieldSellingPrice.getText()
+ "','" + fieldCategoryProfit.getText()+ "','" + fieldSupplier.getText()+ "','" + fieldCategoryProfitRate.getText()+
"','" + fieldTotalCategoryProfit.getText()+"','" + fieldOnStock.getText()+ "')");
content.getChildren().removeAll(table);
table.refresh();
content.getChildren().add(table);
} catch (SQLException ex) {
Logger.getLogger(Stock.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Вот кнопка удаления
buttonDelete.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent t){
try {
Alert alertConfirmation = new
table.getSelectionModel().getSelectedIndex();
TablePosition pos = (TablePosition) table.getSelectionModel().getSelectedCells().get(0);
int row = pos.getRow();
TableColumn col = pos.getTableColumn();
String data = (String) col.getCellObservableValue(table.getItems().get(row)).getValue();
String query = "DELETE FROM stock where category_code = ?";
pst = con.prepareStatement(query);
pst.setString(1, data);
pst.execute();
}