У меня есть проблема с этим кодом:JAVA Loop в петли и мульти результирующих наборов закрытия первого набора результатов
im = stat.executeQuery("SELECT * FROM imones");
while (im.next()) {
sask = stat2.executeQuery("SELECT * FROM saskaitos WHERE imone='" + im.getInt("id") + "'");
while (sask.next()) {
suma = suma + Integer.parseInt(sask.getString("suma"));
kvit = stat3.executeQuery("SELECT * FROM kvitai WHERE sask_nr='" + sask.getInt("sask_nr") + "'");
while (kvit.next()) {
suma = suma - Integer.parseInt(kvit.getString("suma"));
}
kvit.close();
}
sask.close();
//if (suma > 0) {
imone = im.getString("pav");
skola = suma;
DefaultTableModel y = (DefaultTableModel) pagrindinis.visos_skolos_table.getModel();
Vector rowData = new Vector();
rowData.add(imone);
rowData.add(skola);
y.addRow(rowData);
//}
}
im.close();
я получаю только один цикл (While (im.next())), потому что «» Sask запрос не имеет результатов, и он закрывает «im» resultset, а несколько выражений не помогают. Как я могу заставить этот код работать? Спасибо!
Какой язык вы используете? –
Я использую язык Java – Rytis
О, я понимаю сейчас. Вам нужно либо обеспечить, чтобы 'stat' и' stat2' использовали разные соединения, либо читали все соответствующие данные в 'imones' в Vector, чтобы вы могли перебрать его через соединение с базой данных. –