jsp新手询问while rs.next()嵌套循环问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp新手询问while rs.next()嵌套循环问题相关的知识,希望对你有一定的参考价值。

新手新手只会最笨的方法,求大神解决问题

数据库没什么问题,但是只能循环一遍得到一条结果,在网上找说是不能使用两次ResultSet,但是新建了一个stmt2也没办法解决问题。报错为:
java.sql.SQLException: Operation not allowed after ResultSet closed
求最简单的解决办法

你在这里使用的是同一个连接,在执行第二次即stmt2.executeQuery的时候,它会关闭你的rs,所以会报Operation not allowed after ResultSet closed这个错误。你在创建stmt2的时候,不要再用conn这个对象了,要重新获取一个conn对象,再执行查询就可以了。追问

求完整的写法

参考技术A while(rs2.hasnext)out.println((String)rs2.next.getString(3))追问

hasnext怎么定义

追答

这是迭代器的一个方法,表示如果还有下一个元素,循环就继续运行。

while (rs.next()) 与 if(rs.next())的区别

while (rs.next())是用来循环遍历结果集的。

if(rs.next())是用来判断结果集是否有值,有值则执行if语句内代码块。

 

简而言之

while(rs.next()) 就是将rs全部进行读取。
if(rs.next()) 就是将rs进行读取一次,判断是否有数据,有则返回true。

以上是关于jsp新手询问while rs.next()嵌套循环问题的主要内容,如果未能解决你的问题,请参考以下文章

jsp中rt.next()指的是啥?还有rs.next()与rt.next()有啥区别?一直不太清楚

while (rs.next()) 与 if(rs.next())的区别

while(rs.next())与 if(rs.next())的区别

while(rs1.next()) 不返回任何值

Jsp--java.sqlsqlException结果集已耗尽

如何避免 ResultSet 是 Java 中的关闭异常?