关于jdbc中ResultSet的next()方法

jdbc中 ResultSet的next()方法
老师说是从第一条开始读取 然后又回到第一条 请问是这样的吗?我怀疑是老师说错了啊

既然怀疑就查资料验证呗,看 JDK API 最权威,这是JDK API 中关于 ResultSet 的 next 函数详解,一目了然:

boolean next() throws SQLException
将光标从当前位置向前移一行。ResultSet 光标最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。
当调用 next 方法返回 false 时,光标位于最后一行的后面。任何要求当前行的 ResultSet 方法调用将导致抛出 SQLException。如果结果集的类型是 TYPE_FORWARD_ONLY,则其 JDBC 驱动程序实现对后续 next 调用是返回 false 还是抛出 SQLException 将由供应商指定。
如果对当前行开启了输入流,则调用 next 方法将隐式关闭它。读取新行时,将清除 ResultSet 对象的警告链。
返回:
如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false
抛出:
SQLException - 如果发生数据库访问错误或在关闭的结果集上调用此方法

又API知道,next()方法一开始定位在第一行前面,所以用之前你的 next() 以下(一般入门人员很容易在这里出错)才能得到第一行数据,next到最后了会定位在最后一行的后面,不会自动回到第一行的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-15
老师说的意思你没听明白,数据库取出来的记录是从0开始的,那么next()--下一条,自然取的是第一条了,当然了如果你当前指针指在了第三条上,那么next取的就是第四条了。
第2个回答  2009-08-14
没遇到这种问题,next()相当于指针一样,每读取一条,它就会自动向下移动,直到读取完.
第3个回答  2009-08-15
next 相当于指针 ,它的起始位置是在结果集的第一条数据之前的,而不是正指着第一条数据本身 ,循环条件下执行一次后 才指向第一条数据 ,同理 当指到最后一条数据再执行一次后 它的位置是最后一条数据的下方 不知道你老师的意思是不是这样
第4个回答  2009-08-15
第一次调用的时候,读取第一行;再次调用的时候,读取下一行。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网