Une Statement l'objet ne peut avoir qu'un seul ResultSet actif , donc lorsque vous exécutez rs2 = stmt.executeQuery(sql) , le premier ResultSet (rs ) est fermé.
Créez deux Statement objets, un pour rs et un autre pour rs2 .
Citant le javadoc de Statement
: