Аааа, я не знаю, как задать этот вопрос xD
У меня есть проект java, и я хочу предварительно определить операторы, такие как новая таблица БД, Вставка, Удаление и т. Д. c.
У меня есть предопределенные методы, но ResultSets закрываются, и я получаю сообщение об ошибке:
Operation not allowed after ResultSet closed
Я погуглил и обнаружил, что для каждого оператора разрешен только один ResultSet, и последний один закрыт, если другой открыт. Я получил так много, но как мне тогда определить метод?
RN У меня есть метод connect (), который подключается к базе данных и создает инструкцию для этого подключения. тогда у меня есть метод с именем newEntry (), который использует этот оператор. Но метод deleteEntry () также использует этот оператор. Как и 3 других метода.
Также некоторая справочная информация: из-за нескольких протекторов может случиться так, что один метод может вызываться несколько раз в одной указанной c точке.
Как решить эту проблему?
Ну ... спасибо за вашу помощь:)
РЕДАКТИРОВАТЬ:
public static ResultSet getEntrys(String fields, String name, String where) {
String sql = "SELECT " + fields + " FROM " + name + " WHERE " + where;
try {
return resultStmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return null;
}
Затем в другом классе я называю этот метод следующим образом:
ResultSet set = MySQL.getEntrys("*",
"Stats_Channels",
"guild_ID = " + guild.getIdLong());
try {
if(!set.next()) {
//Do something
MySQL.newEntry("Stats_Channels",
"guild_ID, category_ID",
guild.getIdLong() + ", " + category.getIdLong());
//Do something
}
else {
long categoryid = set.getLong("category_ID"); //-> Here it says ResultSet is Closed
//Do something
}
}
} catch (SQLException e) {
e.printStackTrace();
}