rs.next 问题怎么解决?

 我来答
晴天宝贝天枰
推荐于2019-08-23 · TA获得超过2328个赞
知道小有建树答主
回答量:15
采纳率:0%
帮助的人:2410
展开全部

如果说是"判断结果集里有没有值" 那么用if(rs.next) 。while是用来做循环输出的 换句话说 就是"如果结果集里还有值" 没有则停止循环 这个一般在JSP做显示用。

1、rs = stmt.exeQuery(sql)后,rs肯定不会为null,注意,是rs对象不会为null,而不是其包含的result。

2、既然rs不会为null,所以在rs = stmt.exeQuery(sql)后,使用while(rs.next())或if(rs.next())时就不用判断rs != null。

3、rs.next时,游标最先是指向第一条记录前的位置,所以第一次rs.next后,游标指向的正好是第一条记录(如果有的话)。

4、要判断rs的结果是否为空,只要使用一次rs.next方法就行了,如果它返回为false,则证明rs的结果为null。

rs是结果集。查询出的记录是一个列表,初始时指针指向的是第一条记录之前的。每rs.next()一次指针都会向后移动一位,指向下一条记录。

如果没有设置结果集的参数,那么正常情况下结果集都只能往下走,不能退回,也就是rs.next()后。

conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY)。

可以使用rs.first()、rs.last()等方法自己移动结果集指针,但是这种特性(可滚动结果集)是需要数据库支持的,好在现在大部分数据库都是支持的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式