![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
clamp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 10.6.2008 Где: Планета Земля Репутация: нет Всего: нет |
Добрый день. Подключился к БД все работает, но теперь возникает такая ситуация, некоторые таблицы не содержат данные.
Вопрос: Как определить колицество строк в таблице. вот код коннекта
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
P.S. Всю жизнь думал, что на конце вопроса ставится знак вопроса ![]() -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
clamp |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 10.6.2008 Где: Планета Земля Репутация: нет Всего: нет |
Я нохожусь не на форуме русского языка ![]() сорри что сразу не уточнил sql ом я знаю как определить колицество строк. Заача немного не так стоит Сперва я делаю запрос
как мне именно в ответе узнать сколько строк ? или как определить если значения пустые то вывести что таблица пустая ?????? ))))))
|
||||||
|
|||||||
lBugl |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 18.8.2009 Репутация: нет Всего: 2 |
можно попробовать так:
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: нет Всего: 37 |
||||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Так лучше не делать, т.к. зачастую курсоры бывают однонаправленные и beforeFirst() просто выкинет ошибку.
Попытаться проитерироваться по ResultSet-у. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
clamp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 10.6.2008 Где: Планета Земля Репутация: нет Всего: нет |
Ипатьев, Можно поподробнее.
Вообщем свою задачу решил топорным методом, но не уверен, что это правильно. Вообщем вот так:
if (rs.nex()==false){ System.out.println("Нет данных"); } else { rs.beforeFirst(); . . код для обработки данных . . } [/code] Это сообщение отредактировал(а) clamp - 2.9.2009, 06:08 |
|||
|
||||
Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 4 Всего: 10 |
Да ответили же:
-------------------- |
|||
|
||||
lBugl |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 18.8.2009 Репутация: нет Всего: 2 |
странно... вначале требовалось определить количество возвращаемых записей, теперь, походу, просто узнать есть ли они... судя по последнему твоему коду и прислушавшись к тому, что сказали лучше не использовать rs.beforeFirst(); я бы сделал так:
|
||||||
|
|||||||
grimmy |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 6.7.2008 Репутация: нет Всего: нет |
Хм... Я конечно могу и чушь спороть, но все же
![]() Если таблицы не большие, то можно пройтись в цикле по результату, сохранить каждую строку в обьекте, и загнать все обьекты в вектор. А там уже vector.getSize() будет. Да и вобще с вектором имхо работать поудобнее. В идеале можно вынести обработку запроса в отдельный класс, сделать два метода getResultSet() и getResultVector(), и выбирать что-то одно по мере надобности. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: нет Всего: 37 |
да, это чушь.
это имеет смысл только в том случае, если нам нужно не только количество, но и результат. но даже для этого случая не надо никуда ходить в цикле - api предоставляет информацию о количестве возвращенных строк. если же задача - получить количество строк в какой-либо выборке, но не её саму, то ходить кругами по результату становится совсем бессмысленным занятием. если можно получить нужную цифру одним запросом и потом положить хоть в вектор, хоть в матрицу, хоть в пифагоровы штаны. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Это хорошая мысль, вначале поста писать его краткое содержание. И какой же метод позволяет узнать количество строк в ResultSet?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
cube |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 11.4.2007 Репутация: 2 Всего: 3 |
сорри уже путаю столбцы и строки, но решения два одно банальное отправить запрос count, и второе ввести переменную ++count; есть еще масса примеров я не вижу здесь проблемы, автор и сам мог бы поискать, не забываем методы:
Лично сам советую закрыть тему и использовать запрос count, а так это твое дело хочешь загоняй результат в вектор в массив используй метод size или length...но опять же не вижу в этом смысла если есть count Это сообщение отредактировал(а) cube - 2.9.2009, 23:41 |
||||||
|
|||||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: нет Всего: 37 |
да, я тоже думаю, что это В общем, вы соединенными усилиями написали по делу с примерами кода решение задачи для случая, когда теперь осталось найти решение для случая, когда копировать всю базу в память виртуальной машины нецелесообразно %) |
|||
|
||||
clamp |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 10.6.2008 Где: Планета Земля Репутация: нет Всего: нет |
спасибо всем за ответы.
Так понял, что нет функции которая выполняет подсчет, поэтому считаю целесообразным просто послать sql запрос о количестве строк. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |