#jsp #oracle10g
#jsp #oracle10g
Вопрос:
У меня есть obejct результирующего набора как 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 строки в соответствии с моим запросом.. но это не так???
Ответ №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