|
|
|
Junior Member
      
участник
Last Login: 28.12.2006 0:42
Сообщ.: 20,
Visits: 79
|
|
Добрый день!
Выполняя executeQuery - получаем ResultSet.
И вот здесь можно как-нибудь, не перебирая весь цикл по while (rs.next())... - узнать количество возвращенных из базы строк?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
Правильный ответ -- никак =)) И даже не пытайся. Проходили. Единственный вариант:
select count(*) from ...
|
|
|
|
|
новичок
      
участник
Last Login: 15.09.2006 14:01
Сообщ.: 1,
Visits: 5
|
|
Это можно сделать. Для этого нужно установить курсор на последнюю строку (с помощью метода last()), а затем получить номер этой строки.
Например:
ResultSet rsTemp=rs;
ResultSetMetaData rsmd=rsTemp.getMetaData();
rsTemp.last();
int rowCount=rsTemp.getRow();
Работает, по-моему, только для JDBC 2.0 и выше.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
| Если я правильно ошибаюсь, то операция last() определена только для scrollable курсоров. Так что vovchik_s прав, но только для scrollable курсоров.
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 10.03.2008 23:02
Сообщ.: 2 077,
Visits: 21 402
|
|
Danissimo pravilno oshibaetsa:))))
Bez progonki cherez while kolichestvo ryadov ne uznatet
i odin while ne pomozhet. Obychno resultat zagonyatesa v kakoy-nibud Collection(Vector,ArrayList)
a potom delaetsa
int rowCount=vector.size()/resultSet.getMetaData() .getColumnCount();
Toka tak mozhno poluchit kolichestvo ryadov
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
mishgun прав, говоря, что количество строк вычисляется
int rowCount=vector.size()/resultSet.getMetaData() .getColumnCount();
но только, если каждая колонка каждой строки вписывается в vector как отдельный элемент.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.02.2008 19:48
Сообщ.: 480,
Visits: 5 178
|
|
| Дело, видимо, в том, что данные в резалтсет могут пересылаться из базы данных порциями, по мере спроса. Поэтому резалтсет и не может знать заранее количество записей в общем случае.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.05.2007 20:20
Сообщ.: 662,
Visits: 5 795
|
|
| Свершенно верно, mselez =)
|
|
|
|
| | |