我一直在尝试搜索一种方法,我知道如果我在结果集的最后一行,我找到了isLast()方法。
我做了类似的事情:
if(rs.isLast()) {
//do some operation here
}
但它给我一个错误:仅向前结果集不支持请求的操作。
我搜索了一个解决方案,它说我应该更改TYPE_FORDWARD_ONLY。但是现在,我想知道是否有办法通过使用TYPE_FORWARD_ONLY来了解我是否在最后一个记录集中?
感谢。
答案 0 :(得分:1)
还有一种方法isAfterLast
,您可以在调用next
后查看该方法。 TYPE_FORWARD_ONLY也不需要支持此功能,但您仍可以尝试使用它。
答案 1 :(得分:0)
您的连接器可能不支持TYPE_FORWARD_ONLY
您可以使用DatabaseMetaData#supportsResultSetType(int)进行检查。
答案 2 :(得分:0)
如果您的驱动程序不支持afterLast
和isLast
并且您只能使用TYPE_FORWARD_ONLY结果集,那么您将需要处理所有行,然后执行您想要对最后一行执行的额外操作读完所有行后的行。