Java isLast()方法,用于仅向前\u类型的结果集
我一直在尝试寻找一种方法,通过这种方法我可以知道我是否在结果集的最后一行,并且找到了isLast()方法 我做了这样的事情:Java isLast()方法,用于仅向前\u类型的结果集,java,jdbc,resultset,Java,Jdbc,Resultset,我一直在尝试寻找一种方法,通过这种方法我可以知道我是否在结果集的最后一行,并且找到了isLast()方法 我做了这样的事情: if(rs.isLast()) { //do some operation here } 但这给我带来了一个错误:请求的操作在仅向前的结果集上不受支持 我寻找一个解决方案,它说我应该只改变forward类型。但是现在,我想知道是否有一种方法可以让我知道我是否只使用了类型_FORWARD? 谢谢。您的连接器可能不支持仅键入\u FORWARD\u您可以使用进行检查
if(rs.isLast()) {
//do some operation here
}
但这给我带来了一个错误:请求的操作在仅向前的结果集上不受支持
我寻找一个解决方案,它说我应该只改变forward类型。但是现在,我想知道是否有一种方法可以让我知道我是否只使用了类型_FORWARD?
谢谢。您的连接器可能不支持
仅键入\u FORWARD\u
您可以使用进行检查。还有一种方法,您可以在调用next
后进行检查。这也不要求仅支持类型FORWARD,但您可以尝试使用它。如果您的驱动程序不支持afterLast
和isLast
,并且您只能使用类型FORWARD\u ONLY resultset,那么您将需要处理所有行,然后在阅读完所有行之后,对最后一行执行额外的操作。至少需要所有JDBC驱动程序来支持仅支持类型“向前”的结果集(第6.3节JDBC 4.1规范)。像afterLast
,isLast
等方法不需要仅为类型(向前)实现,并且通常对类型(向前)的结果集并不真正有用(这就是为什么不需要实现它们的原因)。Oracle驱动程序(ojdbc8)也有同样的例外