关于JDBC 读取SQL Server存储过程的多个结果集来生成报表的解决方法,以前的一位同事已解决了,还写了文章发出来,被引用了很多次!只是自己觉得他写的代码比较复杂,意图也不够清晰,所以仔细阅读了jdk的API文档,给出下面的代码,
DBConn = db.connectjdbc(Database);
stmt = DBConn.prepareCall(SQL, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
stmt.executeQuery();
do {
if ((RS = stmt.getResultSet()) != null) {
while (RS.next()) {
for (int i = 1; i <= RS.getMetaData().getColumnCount(); i++) {
sb.append(RS.getString(i));
}
}
}
// ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1)) 时没有更多结果(API doc)
} while (!(stmt.getMoreResults() == false && stmt.getUpdateCount() == -1));