can someone tell me where and how I have to close the connection here? Do I have to close the Connection in the Connection class or in the Controller class? I already tried to put followin at the end of the method in the connection class:
if (conn != null) {
try {
conn.close();
} catch (SQLException e) { /* ignored */}
}
But then I get: "No operations allowed after statement closed."
Here is my Code:
public class DB_Connection {
String url = "XXX";
Statement statement;
public DB_Connection (){
try {
Connection con = (Connection) DriverManager.getConnection(url);
statement = (Statement) con.createStatement();
}
catch (SQLException ex){
System.out.println("Failed connection");
}
}
public void addSubject(String subject) throws SQLException {
try {
statement.executeUpdate("INSERT INTO `Subject` VALUES ('" + subject + "')" );
System.out.println("Added " + subject + "to database");
} catch(SQLException e) {
System.out.println("SQL Exception");
}
}
}
And I call it from here:
public class MenuController {
@FXML
public void SendSubject(ActionEvent e) throws IOException, SQLException {
DB_Connection connection = new DB_Connection();
connection.addSubject("English");
}
}
Thanks for your help!