Перемещение ResultSet на первое - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть объект набора результатов как 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 строки в соответствии с моим запросом .. но это не так

Ответы [ 2 ]

6 голосов
/ 07 ноября 2011

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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...