Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/30: Рейтинг темы: голосов - 30, средняя оценка - 4.87
1 / 1 / 1
Регистрация: 03.06.2008
Сообщений: 101

Как узнать количество записей

10.06.2008, 13:07. Показов 5976. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как узнать сколько записей находиться в Recordset после executeQuery?
Я перерыл всю документацию, но так и не нашел подходящего способа.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.06.2008, 13:07
Ответы с готовыми решениями:

Как в jdbc узнать количество записей возвращенных select-ом?
Добрый день! Выполняя executeQuery - получаем ResultSet. И вот здесь можно как-нибудь, не перебирая весь цикл по while...

Как узнать количество записей в БД
Для получения количества использую кодADOQuery.SQL.Add('SELECT COUNT(*) FROM table ');Как мне получить из неё результат?

Как узнать количество записей в талице?
допустим пишу запрос string sql = "SELECT COUNT(hash) FROM .."; а как мне получить результат?

14
Sergey_
10.06.2008, 13:45
Java
1
2
3
4
ResultSet myResultSet = // ...
// ...
myResultSet.last();
System.out.println(myResultSet.getRow());
1 / 1 / 1
Регистрация: 03.06.2008
Сообщений: 101
10.06.2008, 19:51  [ТС]
Нет ли более красивого способа? (т.к. этот я уже использовал)

А если мне при этом надо оставаться на beforeFirst() и тип курсора FORWARD_ONLY ??
0
rookie
10.06.2008, 22:04
засунуть все в Vector или ArrayList и потом методом size узнать размер Vectora-это и будет количество рядов
1 / 1 / 0
Регистрация: 13.05.2008
Сообщений: 23
26.06.2008, 18:31
Глупый вопрос. А количество объектов в итераторе вы посчитать не пытались, оставаясь при этом на первом?

В кач-ве совета: делайте SELECT COUNT(*) ... кроме основного запроса.
0
1 / 1 / 1
Регистрация: 03.06.2008
Сообщений: 101
27.06.2008, 14:22  [ТС]
Вообще то я не хочу узнать сколько записей возвращает запрос !!
Я хочу узнать сколько записей находиться в Recordset без запроса.
0
1 / 1 / 1
Регистрация: 03.06.2008
Сообщений: 101
27.06.2008, 14:23  [ТС]
в смысле без нового запроса в виде select count(*)
0
rookie
27.06.2008, 22:38
А что метод size от vector уже не подходит?Он вернет сколько записей в ResultSet.Или слов новичка никто не слушает?Типа мы крутые и нечего вам сюда лезть
rookie
27.06.2008, 22:38
А что метод size от vector уже не подходит?Он вернет сколько записей в ResultSet.Или слов новичка никто не слушает?Типа мы крутые и нечего вам сюда лезть
1 / 1 / 0
Регистрация: 13.05.2008
Сообщений: 23
29.06.2008, 11:02
Новичок, да ты не пыжься так. Чтобы всё засунуть в Vector, всё равно надо пройти до конца ResultSet.

По поводу ResultSet вообще:
Code
1
2
3
4
5
6
7
8
9
10
11
A ResultSet object maintains a cursor pointing to its current row 
of data. Initially the cursor is positioned before the first row. 
The next method moves the cursor to the next row, and because it 
returns false when there are no more rows in the ResultSet object, 
it can be used in a while loop to iterate through the result set. 
 
A default ResultSet object is not updatable and has a cursor that 
moves forward only. Thus, it is possible to iterate through it 
only once and only from the first row to the last row. 
New methods in the JDBC 2.0 API make it possible to produce 
ResultSet objects that are scrollable and/or updatable.
Теперь к коду Sergey_ добавляем:
Code
1
myResultSet.beforeFirst();
и вы снова в самом начале пути.
0
mishgun
30.06.2008, 04:59
Вот смотрю я тут на ваши споры а ведь однго и тоже предлагаете пройти до конца resultset
mishgun
30.06.2008, 05:04
to space_center
Я немного недопонял вот этого -
'Вообще то я не хочу узнать сколько записей возвращает запрос !!
Я хочу узнать сколько записей находиться в Recordset без запроса.'
А нету там ничего без запроса
0 / 0 / 0
Регистрация: 27.02.2008
Сообщений: 56
30.06.2008, 09:06
Господа, вы зря бьетесь об эту стенку. Начнем с того, что я не припомню в JDBC метода, который бы возвратил число строк в ResultSet. Но если бы такой метод и был, то использовать его можно было бы как минимум не с каждой СУБД. Например, в Oracle (по крайней мере до 8.07 включительно) в принципе невозможно узнать количество выбранных записей, пока курсор не пройден до конца. И я подозреваю, что во многих других СУБД дело обстоит так же, поскольку использование такого подхода обусловлено вполне разумными причинами. Поэтому, когда уж очень приспичивает, я пользуюсь select count(*).
Кроме того, есть одна мысль насчет использования JDBC вообще. Как известно, JDBC драйвера каждый производитель СУБД поставляет для своей базы сам. Так вот, бывают иной раз случаи (и не так уж редко), когда производитель реализует в тех или иных классах не все методы, объявленные в интерфейсе. Пример: в драйверах для Sybase Adaptive Server Anywere 6.0 вызов метод PreparedStatement.getMetaData() выбрасывает exception, вместо того, чтобы делать что-либо социально ценное. Поэтому лично я стараюсь пользоваться только самыми базовыми методами, чего и вам желаю: меньше геморроя наживете.
0
1 / 1 / 1
Регистрация: 03.06.2008
Сообщений: 101
02.07.2008, 19:23  [ТС]
To: mishgun
Я имел в виду без запроса
select count(*)

Спасибо всем за ответы!!
Моя цель была узнать можно ли как нибудь еще (без прохождения курсора) узнать количество строк в уже созданом Resultset, но как видно мои надежды не оправдались 8)
0
1 / 1 / 0
Регистрация: 13.05.2008
Сообщений: 23
03.07.2008, 15:44
Надо его (ResultSet) пытать долго и мучительно, возможно тогда он расколется и скажет вам сколько же в нём содержится записей .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.07.2008, 15:44
Помогаю со студенческими работами здесь

Как узнать количество полученных записей из БД?
В других языках это RecordCount соответствующего объекта

Как узнать количество вернувшихся записей SELECT ?
Проблема в следующем мне нужно перед вводом записи узнать есть ли в таблице запись с таким id_zal. использую SQL server 2008 и RAD2010 / ...

Как узнать количество записей сделанных процессами?
Аналогично тому, что отображается в диспетчере задач(это видно, если чекбокс_число_записей.checked = true)

Как узнать количество записей в запросе Access200
Как узнать количество отбранных записей в запросе (MS ACCESS 2000). Это содрано с хелпа, тут проблем нет. Dim dbs As Database, qdf As...

Как узнать количество записей структуры в файле?
Помогите пожалуйста с вопросом: Как узнать количество записей структуры в файле?Желательно функцией,чтобы возвращала количество записей


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru