Câu lệnh Statement đối tượng chỉ có thể có một ResultSet đang hoạt động , vì vậy khi bạn thực thi rs2 = stmt.executeQuery(sql) , ResultSet đầu tiên (rs ) bị đóng.
Tạo hai câu lệnh Statement các đối tượng, một cho rs và một cái khác cho rs2 .
Trích dẫn javadoc của Statement
: