TYPE_FORWARD_ONLY结果集的isLast()方法

时间:2012-05-15 08:41:25

标签: java jdbc resultset

我一直在尝试搜索一种方法,我知道如果我在结果集的最后一行,我找到了isLast()方法。

我做了类似的事情:

if(rs.isLast()) {
    //do some operation here
}

但它给我一个错误:仅向前结果集不支持请求的操作。

我搜索了一个解决方案,它说我应该更改TYPE_FORDWARD_ONLY。但是现在,我想知道是否有办法通过使用TYPE_FORWARD_ONLY来了解我是否在最后一个记录集中?

感谢。

3 个答案:

答案 0 :(得分:1)

还有一种方法isAfterLast,您可以在调用next后查看该方法。 TYPE_FORWARD_ONLY也不需要支持此功能,但您仍可以尝试使用它。

答案 1 :(得分:0)

您的连接器可能不支持TYPE_FORWARD_ONLY您可以使用DatabaseMetaData#supportsResultSetType(int)进行检查。

答案 2 :(得分:0)

如果您的驱动程序不支持afterLastisLast并且您只能使用TYPE_FORWARD_ONLY结果集,那么您将需要处理所有行,然后执行您想要对最后一行执行的额外操作读完所有行后的行。