Aar*_*lla 23
正确的代码来处理ResultSetJDBC语句返回的多个s:
PreparedStatement stmt = ...;
boolean isResultSet = stmt.execute();
int count = 0;
while(true) {
if(isResultSet) {
rs = stmt.getResultSet();
while(rs.next()) {
processEachRow(rs);
}
rs.close();
} else {
if(stmt.getUpdateCount() == -1) {
break;
}
log.info("Result {} is just a count: {}", count, stmt.getUpdateCount());
}
count ++;
isResultSet = stmt.getMoreResults();
}
Run Code Online (Sandbox Code Playgroud)
重要事项:
getMoreResults()并execute()返回false以指示语句的结果只是一个数字而不是一个数字ResultSet.stmt.getUpdateCount() == -1是否有更多结果.stmt.getMoreResults(Statement.CLOSE_CURRENT_RESULT)Hon*_*nza 11
您可以使用Statement.execute(),getResultSet();
PreparedStatement stmt = ... prepare your statement result
boolean hasResults = stmt.execute();
while (hasResults) {
ResultSet rs = stmt.getResultSet();
... your code parsing the results ...
hasResults = stmt.getMoreResults();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35921 次 |
| 最近记录: |