我想将两个Resultset Object合并到第三个。
如果您有任何想法,请回复..
VIPUL
答案 0 :(得分:1)
您无法直接合并ResultSet
。您有两种选择:
创建一个有效结合结果的新类;或
如果查询具有相同类型和数量的列并且来自同一个数据库,您可以UNION
或(最好)UNION ALL
这些查询返回一个{{1} }。
澄清(1)ResultSet
实际上是一个游标。将加载一定数量的结果,但在您进入它们之前不会加载其他结果。你想如何组合它们?一个接一个地?以某种方式排序?基本上你必须自己做,但循环遍历多个ResultSet
是一小段代码。
答案 1 :(得分:1)
ResultSet是一个接口,因此您可以随意实现它。在您的情况下,您可以创建一个实现ResultSet的类,但是有一个构造函数可以使用另外两个ResultSet。然后实现每个方法以委托第一个ResultSet或第二个ResultSet。例如,first()方法将调用rs1.first(),而last()将调用rs2.last()。使用next(),你必须聪明并调用rs1.next()直到rs1用完行,然后切换到rs2。您必须跟踪两个ResultSet中的哪一个对于next()调用是“当前的”。