除了多次调用FORWARD_ONLY ResultSet
外,是否可以跳过ResultSet#next()
中的某些行?
答案 0 :(得分:1)
是否可以跳过FORWARD_ONLY ResultSet中的某些行,除了多次调用ResultSet#next()之外?
不,使用JDBC API是不可能的。正如您所指出的,可滚动游标(例如ResultSet::absolute
)对Oracle没有帮助。无论如何它们都是可选功能。
“您无法定位仅向前结果集。任何定位它或确定当前位置的尝试都将导致SQLException。”
多次调用next()
是唯一可移植的解决方案。
虽然您很可能需要为每个后端数据库实现不同的应用程序,但可能使用特定于供应商的API。
可能可以在服务器端使用某些特定于供应商的“魔法”来实现。
可以通过手工或使用某种预处理器重写查询来实现这一点。