try { tblResults.getItems().clear(); tblResults.getColumns().clear(); //Abfrage starten ResultSet rs = Dao.executeQuery(txtSQL.getText()); //Metadaten auswerten int colCount = rs.getMetaData().getColumnCount(); //Create Result-Columns for (int i = 1; i <= colCount; i++) { TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i)); col.setCellValueFactory(new MapValueFactory<>("col" + i)); tblResults.getColumns().add(col); } //Loop Data and fill Data-Items ObservableList<Map<String, Object>> items = FXCollections.<Map<String, Object>>observableArrayList(); while (rs.next()) { Map<String, Object> item = new HashMap<>(); String value = ""; for (int i = 1; i <= colCount; i++) { value = ""; switch (rs.getMetaData().getColumnType(i)) { case Types.BOOLEAN: value = String.valueOf(rs.getBoolean(i)); break; case Types.DATE: value = String.valueOf(rs.getDate(i)); break; case Types.REAL: case Types.DECIMAL: case Types.NUMERIC: case Types.DOUBLE: value = String.valueOf(rs.getDouble(i)); break; case Types.FLOAT: value = String.valueOf(rs.getFloat(i)); break; case Types.TINYINT: case Types.SMALLINT: case Types.INTEGER: value = String.valueOf(rs.getInt(i)); break; case Types.TIMESTAMP: value = String.valueOf(rs.getTimestamp(i)); break; case Types.LONGVARCHAR: case Types.VARCHAR: value = rs.getString(i); break; } item.put("col" + i, value); } items.add(item); } tblResults.getItems().addAll(items);} catch (Exception e) { System.out.println(e.getLocalizedMessage());}
FXML neue Seite anzeigen
try{ // FXML-Loader erzeugen und Layout auswählen FXMLLoader loader = new FXMLLoader(); loader.setLocation(App.class.getResource("main.fxml")); // Root der neuen Scene speichern Parent root = loader.load(); //aktuellen Controller von main.xml holen und stage übergeben MainController controller = loader.getController(); controller.setStage(stage); //Neue Szene erzeugen und Root-Element übergeben Scene scene = new Scene(root); //Die Szene der Stage austauschen und stage.setScene(scene); stage.show();}catch (IOException e){ System.out.println(e.getLocalizedMessage());}