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

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

10.06.2008, 13:07. Показов 5926. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru