Been getting an error at the line where I used "while (this.resultSet.next())" I'm new to javafx, still studying and watching youtube tutorials, unfortunately I can't find a video on how to fix this. The data from my database wont populate the table
Here's the error:
Caused by: java.lang.NullPointerException
at sample.TableViewController.Save(TableViewController.java:73)
... 120 more
package sample;
import com.mysql.jdbc.ResultSet;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TableViewController implements Initializable {
@FXML
private TableView<ModelTable> table;
@FXML
private TableColumn<ModelTable, String> ID;
@FXML
private TableColumn<ModelTable, String> FrstName;
@FXML
private TableColumn<ModelTable, String> LstName;
@FXML
private TableColumn<ModelTable, String> GS;
@FXML
private TableColumn<ModelTable, String> Grade1;
@FXML
private TableColumn<ModelTable, String> Grade2;
@FXML
private TableColumn<ModelTable, String> Grade3;
@FXML
private TableColumn<ModelTable, String> Grade4;
@FXML
private TableColumn<ModelTable, String> Grade5;
@FXML
private TableColumn<ModelTable, String> Grade6;
Connection con = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
ObservableList<ModelTable> oblist = FXCollections.observableArrayList();
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
}
public void Save(ActionEvent event) {
try {
String query = "Select * from `records`";
con = DriverManager.getConnection("jdbc:mysql://localhost/records", "root", "");
preparedStatement = con.prepareStatement(query);
preparedStatement.executeQuery();
while (this.resultSet.next()) {
oblist.add(new ModelTable(resultSet.getString("ID"), resultSet.getString("FrstName"), resultSet.getString("LstName"), resultSet.getString("GS"), resultSet.getString("Grade1"), resultSet.getString("Grade2"), resultSet.getString("Grade3"),resultSet.getString("Grade4"), resultSet.getString("Grade5"), resultSet.getString("Grade6")));
}
ID.setCellValueFactory(new PropertyValueFactory<>("ID"));
FrstName.setCellValueFactory(new PropertyValueFactory<>("First Name"));
LstName.setCellValueFactory(new PropertyValueFactory<>("Last Name"));
GS.setCellValueFactory(new PropertyValueFactory<>("Grade/Section"));
Grade1.setCellValueFactory(new PropertyValueFactory<>("Grade1"));
Grade2.setCellValueFactory(new PropertyValueFactory<>("Grade2"));
Grade3.setCellValueFactory(new PropertyValueFactory<>("Grade3"));
Grade4.setCellValueFactory(new PropertyValueFactory<>("Grade4"));
Grade5.setCellValueFactory(new PropertyValueFactory<>("Grade5"));
Grade6.setCellValueFactory(new PropertyValueFactory<>("Grade6"));
table.setItems(oblist);
} catch (SQLException ex) {
Logger.getLogger(TableViewController.class.getName()).log(Level.SEVERE, null, ex);
}
}
}