Quando você executa o
Delete consulta, você usa a mesma Statement que foi usado no Select inquerir. Quando você executa novamente na mesma Statement , o ResultSet anterior fica fechado. Para evitar isso, você deve criar uma nova
Statement toda vez que você executa uma consulta. Portanto, remova statement = connection.createStatement(); do connect() método em MySQLDatabase class e substitua todas as statement nessa classe para connection.createStatement() . Você também pode optar por excluir a variável privada statement completamente. Você pode ler mais sobre isso aqui .