Po uruchomieniu Delete zapytanie, używasz tego samego Statement który był używany w Select zapytanie. Po ponownym uruchomieniu tego samego Statement , poprzedni ResultSet zostaje zamknięty.
Aby tego uniknąć, powinieneś utworzyć nowe Statement za każdym razem, gdy wykonujesz zapytanie. Usuń więc statement = connection.createStatement(); z connect() metoda w MySQLDatabase klasę i zamień wszystkie statement w tej klasie do connection.createStatement() . Możesz także usunąć prywatną zmienną statement razem.
Możesz przeczytać więcej na ten temat tutaj .