多结果集处理
虚谷JDBC支持多结果集处理,允许Statement接口支持多重打开的ResultSet对象。执行语句可以是多条SQL语句的集合,即一次性向虚谷服务器发送多条SQL语句,虚谷服务器执行完SQL语句后返回多个执行结果;亦或存储过程定义有多个返回结果集。虚谷JDBC的Statement重载了Statement接口中的getMoreResults()方法。
示例: 多结果集处理
//SQL语句包含多条查询命令
String sql=" SELECT * FROM A1 WHERE D2=(SELECT AVG(D2) FROM A1 GROUP BY D1);SELECT * FROM A1 WHERE D2>(SELECT MIN(D2) FROM A1 GROUP BY D1)";
//创建Statement对象
Statement stm = conn.createStatement();
//执行SQL语句
boolean f = stm.execute(sql);
//判断是否有ResultSet对象产生
if(f == true){
//获取结果集对象
ResultSet rs1 = stm.getResultSet();
... ... ... ...
}
while(true)
{
//判断Statement是否返回了多个ResultSet对象
if(!stm.getMoreResults(Statement.CLOSE_CURRENT_RESULT)){
break;
} else if((rs2 = cstm.getResultSet())!=null) {
... ... ... ...//数据处理部分省略
}
}