存储过程返回多个结果集

对于查询试的存储过程,一般会返回一个结果集,这个时候,使用正常的查询操作即可得到结果集,可是,面对下面的一次返回多个结果集的过程,又该如何通过JDBC获取呢?

其实,只需要多加一步操作就可以了。

JDBC的PreparedStatement可以返回多个结果集,但是ResultSet一次却只能接受一个结果集,只需要再判断PreparedStatement对象的getMoreResults()是否为真,然后再获取一次结果集,即可得到第二、第三……个结果集。

代码实现如下(Sybase IQ版本):

ps = conn.prepareStatement(sql);
ps.getMoreResults();
rs  = ps.executeQuery();

while(rs.next()){
	System.out.println(rs.getString(1));
}
if(ps.getMoreResults()){
	rs = ps.getResultSet();
}
while(rs.next()){
	System.out.println(rs.getString(1));
}

猜你喜欢

转载自housen1987.iteye.com/blog/1601958
今日推荐