Skip to content

多结果集处理

虚谷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) {
   ... ... ... ...//数据处理部分省略
  }
}