Я пытаюсь получить один фрагмент данных из базы данных, и внезапно выдает ошибку: операция не разрешена после закрытия ResultSet. на линии, которая
while(rs3.next()) {
Почему это происходит? Код вроде в порядке и всё. Вот мой код:
public DatabaseConnectionClass() {
idfield = new JTextField("");
submit = new JButton("go");
settings = new JButton("settings");
auto = new JButton("auto");
add(idfield);
add(submit);
add(settings);
add(auto);
setLayout(new GridLayout());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database1?useTimezone=true&serverTimezone=UTC", "root", "");
st = con.createStatement();
con2 = DriverManager.getConnection("jdbc:mysql://localhost:3306/values?useTimezone=true&serverTimezone=UTC", "root", "");
st2 = con2.createStatement();
} catch(Exception ex) {
System.out.println(ex);
}
}
А вот неисправный метод, который активируется при нажатии на одну из кнопок (называемую авто):
public void getAuto() throws Exception {
for (int i = 0; i < 1000; i++) {
String q1 = "SELECT * FROM payments LIMIT 1";
try {
rs3=st.executeQuery(q1);
while(rs3.next()) {
String ppmail = rs3.getString("mail");
getData(ppmail);
rs3.close();
}} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
auto.setText("End of records");
}
}
}