 |
30-03-2007, 17:13
|
#1
|
Сообщений: 15,856
Проживание: Länsi-Uusimaa
Регистрация: 25-06-2005
Status: Offline
Репутация: 0
|
Java и MySQL, есть вопрос
Люди, хелп!
Нигде не могу найти инфу о том, как узнать, сколько строк возвращается в результате выполнения запроса SELECT.
Т.е. есть конструкция ResultSet rs = stmt.executeQuery("SELECT * FROM tableName"), как узнать, сколько строк содержит rs? Есть ли какой специальный метод? Не пересчитывать же строки в цикле...
Мне очень нужно и довольно срочно.
|
|
|
|
30-03-2007, 17:17
|
#2
|
|
undefined
Сообщений: 5,264
Проживание:
Регистрация: 30-06-2005
Status: Offline
Репутация: 0
|
|
|
|
|
30-03-2007, 17:38
|
#3
|
Сообщений: 15,856
Проживание: Länsi-Uusimaa
Регистрация: 25-06-2005
Status: Offline
Репутация: 0
|
Цитата:
|
Сообщение от adam
пользуй rs.next()
|
Я его и так пользую. Я знаю, что делаю всё через одно место, но у меня задумка такая, что я сначала хочу узнать, сколько строк вернулось, создать массив именно такого размера (потому что потом с ним ещё много чего надо делать), а потом заполнить его тем, что вернулось, благо меня интересует один-единственный столбец.
Цитата:
|
Сообщение от dispetcher
select count(*) from tableName
|
То есть мне писать rs = stmt.executeQuery("select count(*) from tableName") ?
* - это значит "все столбцы", как всегда? хотя мне, собственно, нужен всего один
Так как мне потом узнать кол-ко строк-то?
Сорри, я что-то туплю сегодня.
|
|
|
|
30-03-2007, 17:41
|
#4
|
Сообщений: 15,856
Проживание: Länsi-Uusimaa
Регистрация: 25-06-2005
Status: Offline
Репутация: 0
|
А-а-а-а, всё, спасибо! Нашла нужное место! Я этот документ до этого смотрела в русском переводе, так вот часть про строки там опущена! Спасибо! Теперь всё должно получиться. 
|
|
|
|
30-03-2007, 17:24
|
#5
|
|
просто зверь
Сообщений: 6,244
Проживание:
Регистрация: 28-07-2004
Status: Offline
Репутация: 14
|
Цитата:
|
Сообщение от Hnutik
Люди, хелп!
Нигде не могу найти инфу о том, как узнать, сколько строк возвращается в результате выполнения запроса
Т.е. есть конструкция ResultSet rs = stmt.executeQuery("SELECT * FROM tableName"), как узнать, сколько строк содержит rs? Есть ли какой специальный метод? Не пересчитывать же строки в цикле...
Мне очень нужно и довольно срочно.
|
JDBC этого не знает. Насчет MySQL не уверен, он, кажется, весь ResultSet разом передает (как сумашедший дятел), но нормальные сервера такого безобразия себе не позволют => в стандартном JDBC такого метода в интерфейсе ResultSet нет.
Как вариант: SELECT COUNT(*) FROM tableName. - универсальный метод.
|
|
|
|
30-03-2007, 17:25
|
#6
|
|
Registered User
Сообщений: 361
Проживание:
Регистрация: 23-05-2006
Status: Offline
Репутация: 0
|
select count(*) from tableName
Успехов!
|
|
|
|
30-03-2007, 22:25
|
#7
|
Сообщений: 15,856
Проживание: Länsi-Uusimaa
Регистрация: 25-06-2005
Status: Offline
Репутация: 0
|
Всем откликнувшимся огромное спасибо! У меня всё получилось! 
|
|
|
|
| Опции темы |
Поиск в этой теме |
|
|
|
| Опции просмотра |
Оценка этой теме |
Комбинированный вид
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
|
|
|