select * from ...
union
select * from ...
union
select * from ...
这样才会是一个结果集,你的过程会返回唯一的一个结果集rs
ResultSet rs只是一个结果集
你分开执行select 语句应该是创建了3个结果集,但是后一个会覆盖掉你的前一个,你的call执行下来应该是返回最后一个结果集给你。
你试试ResultSet[] rs=con.prepareCall("{call Test}")这样会不会给你3个结果集
---------------
i think...
union
select * from ...
union
select * from ...
这样才会是一个结果集,你的过程会返回唯一的一个结果集rs
ResultSet rs只是一个结果集
你分开执行select 语句应该是创建了3个结果集,但是后一个会覆盖掉你的前一个,你的call执行下来应该是返回最后一个结果集给你。
你试试ResultSet[] rs=con.prepareCall("{call Test}")这样会不会给你3个结果集
---------------
i think...
我上面的程序的执行结果是: 只能得到第一个记录集,
打印的是第一个记录集中的记录。
如果,在遍历第一个记录集后,
call.getMoreResults();
while(rs.next())
{
System.out.println(rs.getString(1));
}
得到是 第二个 记录集中的内容。
但 call.getMoreResults() 的返回值却是 FALSE;
不知道为什么???
可以确认 SQLServer 能返回多个记录集。