首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法遍历结果集

问无法遍历结果集
EN

Stack Overflow用户
提问于 2014-10-28 14:58:59
回答 3查看 63关注 0票数 0

我想使用while(rs.next())遍历UserInfo表。UserInfo表中有七条记录,但我只得到了第一条记录。在我加入了rs.getRow();的代码之后,我得到了我想要的结果。

代码语言:javascript
复制
try{
    Statement stmt=conn.createStatement();
    String queryStr="SELECT * FROM UserInfo";
    ResultSet rs=stmt.executeQuery(queryStr);

    while(rs.next())
    {
        String strName="Name is "+rs.getString(3)+";";
        String intAge="Age is "+rs.getInt(5)+";";
        String strCompany="Company is "+rs.getString(4)+".<br>";
        //int rowNum=rs.getRow();
        out.println(strName+intAge+strCompany);
    }

    out.println("Succeed in visiting UserInfo table.");
    }catch(SQLException e){
        out.println("Failed to query.");
    }

我不想使用rs.getRow();。我该如何处理这个问题呢?

EN

回答 3

Stack Overflow用户

发布于 2014-10-28 16:25:23

您的代码看起来确实很好,除了您使用字符串part.If来保存记录之外,那么您将无法显示所有7条记录。

因此,尝试使用像ArrayList这样的集合对象。当然,你应该在finally块中关闭连接。

代码语言:javascript
复制
try{
  Statement stmt=conn.createStatement();
  String queryStr="SELECT * FROM UserInfo";
  ResultSet rs=stmt.executeQuery(queryStr);
  List<String> list = new ArrayList<String>();  

  while(rs.next()){

    list.add(rs.getString(3));

  }

 System.out.println("rows "+list.size());
 }catch(SQLException e){
    out.println("exception "+e.getMessage());
 }
 finally{
 rs.close();
 stmt.close();
 conn.close();
 }

这是一个很好的例子,说明了如何使用集合对象从数据库中检索值。http://theopentutorials.com/tutorials/java/jdbc/how-to-retrieve-all-rows-from-mysql-table-using-jdbc/

票数 1
EN

Stack Overflow用户

发布于 2014-10-28 15:06:22

rs.next只告诉您是否有下一条记录。

当你运行时

代码语言:javascript
复制
ResultSet rs=stmt.executeQuery(queryStr);

这已经将第一条记录中的数据放到了变量rs中。

为了前进到下一条记录,您需要运行rs.getRow,但仅当存在

下一条记录(与rs.next核对)。

票数 0
EN

Stack Overflow用户

发布于 2014-10-28 15:10:21

rs.next()将光标从其当前位置向前移动一行。ResultSet游标最初位于第一行之前;对方法next的第一次调用使第一行成为当前行;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26602510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档