JDBC ResultSet:不是最后但没有下一个,为什么?

时间:2012-03-30 14:36:22

标签: jdbc hsqldb next

我使用的是HsqlDB 1.8.1,发现了一些奇怪的东西:

ResultSet rs;
...
boolean isLast=rs.isLast();
assert !isLast;
boolean hasNext=rs.next();
assert hasNext;

就我而言,isLast是假的,但hasNext也是假的!你能告诉我为什么吗?我想如果光标不在这个结果集的最后一行,那么它应该有下一行。

1 个答案:

答案 0 :(得分:1)

我认为你的意思是hasNext断言失败,因为hasNext false ,是吗?

ResultSet类型为TYPE_FORWARD_ONLY吗?根据{{​​3}},在这种情况下,对此方法的支持是“可选的”,但不清楚它是否是可选的意味着该方法将抛出SQLFeatureNotSupportedException,或者只是无条件地返回false。