ResultSet问题

javaren555 2004-05-12 09:40:07
我有这样一条语句
while (rs.next()) {
list.add(new User(this.rs));
}
在while循环中只循环一次就跳出了,判断rs.next()为空(rs里不只有一条记录),如果在while 循环上面加上几条rs.next(),则在while循环外的rs.next()可以如实的执行。我换了一种循环
for (; !rs.isAfterLast() ;) {
list.add(new User(rs));
rs.next();
}
捕捉到的异常是
java.lang.NullPointerException
at com.microsoft.jdbc.base.BaseResultSet.cancelPendingUpdates(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.next(Unknown Source)

hlpe me!!!!!

...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaren555 2004-05-12
  • 打赏
  • 举报
回复
谢谢Arias(永恒之道) ,原因找到了,我在User这个构造函数里面关闭了rs,所以出错
javaren555 2004-05-12
  • 打赏
  • 举报
回复
to Arias(永恒之道)
我试过了,不行啊!rs.close()是在while循环后面关闭的
allanic 2004-05-12
  • 打赏
  • 举报
回复
User()里面对rs作了什么操作?
Arias 2004-05-12
  • 打赏
  • 举报
回复
while (rs.next()) {
list.add(new User(this.rs));
}
就用这种,改掉里面的this.rs为rs试一试
还有就是你是否在new User(Resultset rs)的处理里面调用了rs.close()来关闭rs集
根据你 的需要是操作完毕后才能关闭的。有的话去掉
在while后面添加关闭!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧