Мне нужно вызвать хранимую процедуру несколько раз и использовать для этого executeBatch()
. Каждый вызов должен возвращать таблицу с результатами, но я не смог получить доступ к этим результатам. Следующий код работает отлично:Извлечь ResultSet с помощью CallableStatement после executeBatch()
callableStatement.setString(1, "foo");
callableStatement.setString(2, "bar");
callableStatement.execute();
resultSet = callableStatement.getResultSet();
Но следующий код не работает, как ожидалось:
for (String str : strings) {
callableStatement.setString(1, str);
callableStatement.setString(2, "bar");
callableStatement.addBatch();
}
callableStatement.executeBatch();
resultSet = callableStatement.getResultSet(); // returns null
Я уже пытался позвонить callableStatement.getUpdateCount()
и callableStatement.getMoreResults()
перед извлечением ResultSet, но безуспешно.
Если ваш var является 'callableStatement' или' cs'? Я предполагаю, что ваш фактический код выглядит не так? Если да, это твоя проблема! – wmorrison365
@ wmorrison365, конечно, это была опечатка. Это не фактический код, но достаточно выяснить разницу между двумя подходами, которые я использую. – bsiamionau