将结果集移动到第一个

发布于 2024-12-14 09:54:33 字数 417 浏览 0 评论 0原文

我有一个结果集对象作为 rs,我使用代码片段来计算行数..

       while(rs.next())
           count++;

并且我必须再次使用相同的结果集来检索数据。我使用了该方法

    rs.beforefirst(); 

,但它不起作用...控制未进入

   while(rs.next()){
      cid=rs.getInt(1);
      taskdate=rs.getString(2);
      tasktime=rs.getString(3);
      addr=rs.getString(4);
   }

我必须根据我的查询返回 4 行..但它没有???

I have a resultset obejct as rs and i used the fragment of code to count the number of rows..

       while(rs.next())
           count++;

and i has to use the same resultset again to retrieve the data. I used the method

    rs.beforefirst(); 

but it is not working... control is not entering into

   while(rs.next()){
      cid=rs.getInt(1);
      taskdate=rs.getString(2);
      tasktime=rs.getString(3);
      addr=rs.getString(4);
   }

I has to return 4 rows according to my query.. but it doesn't ???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

路还长,别太狂 2024-12-21 09:54:33

Resultset 仅是转发。如果您想导航回第一条记录,则需要创建可滚动结果集

  // Create a scrollable result set
Statement stmt = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = stmt.executeQuery("SELECT * FROM my_table");

// Move cursor forward
while (resultSet.next()) {
  // Get data at cursor
  String s = resultSet.getString(1);
}

// Move cursor backward
while (resultSet.previous()) {
  // Get data at cursor
  String s = resultSet.getString(1);
}

// Move cursor before first record
resultSet.beforeFirst();  //required statement in this case 

Resultset is the forward only . If you want to navigate back to the first record you need to create scrollable resultset .

  // Create a scrollable result set
Statement stmt = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = stmt.executeQuery("SELECT * FROM my_table");

// Move cursor forward
while (resultSet.next()) {
  // Get data at cursor
  String s = resultSet.getString(1);
}

// Move cursor backward
while (resultSet.previous()) {
  // Get data at cursor
  String s = resultSet.getString(1);
}

// Move cursor before first record
resultSet.beforeFirst();  //required statement in this case 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文