Hej,
mam problem z umieszczeniem w tabeli danych z bazy danych Sqlite. Pisze aplikację w JavaFX, korzystam z Scene Buildera.
Przeczytałem już kilka tutoriali ale nic nie pomogło.
Po odpaleniu programu mam pusta tabelę. Są 3 kolumny, id, name, surname. W bazie mam wpisane 2 wiersze.
Będę wdzięczny za pomoc, bo już bardzo dużo czasu spędziłem nad tym kawałkiem.
/**
*
* @author Arif
*/
public class TeachersTableController implements Initializable
{
@FXML
TableColumn teacherIDCol;
@FXML
TableColumn nameCol;
@FXML
TableColumn surnameCol;
@FXML
TableView table;
@Override
public void initialize(URL location, ResourceBundle resources)
{
teacherIDCol.setCellValueFactory(new PropertyValueFactory<TeachersTableModel, String>("TeacherID"));
nameCol.setCellValueFactory(new PropertyValueFactory<TeachersTableModel, String>("Name"));
surnameCol.setCellValueFactory(new PropertyValueFactory<TeachersTableModel, String>("Surname"));
buildData();
}
public void buildData()
{
Connection connection = null;
try
{
connection = SqliteConnection.Connector();
Statement statement = connection.createStatement();
statement.setQueryTimeout(30);
String query = "SELECT * FROM nauczyciele";
ResultSet rs = statement.executeQuery(query);
while(rs.next())
{
ObservableList<String> data = FXCollections.observableArrayList();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++)
{
data.add(rs.getString(i));
}
table.getItems().setAll(data);
}
}catch(Exception e)
{
e.printStackTrace();
System.out.println("Error on Building Data");
}
}
}