一尘不染

将ResultSet移到第一个

jsp

我有一个作为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行。但是它不是???


阅读 391

收藏
2020-06-10

共1个答案

一尘不染

结果集是仅前进的。如果要导航回第一条记录,则需要创建
可滚动的结果集

  // 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
2020-06-10