PDA

View Full Version : Java и MySQL, есть вопрос


Hnu
30-03-2007, 17:13
Люди, хелп!

Нигде не могу найти инфу о том, как узнать, сколько строк возвращается в результате выполнения запроса SELECT.

Т.е. есть конструкция ResultSet rs = stmt.executeQuery("SELECT * FROM tableName"), как узнать, сколько строк содержит rs? Есть ли какой специальный метод? Не пересчитывать же строки в цикле...

Мне очень нужно и довольно срочно.

adam
30-03-2007, 17:17
http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/resultset.html

пользуй rs.next()

ank
30-03-2007, 17:24
Люди, хелп!

Нигде не могу найти инфу о том, как узнать, сколько строк возвращается в результате выполнения запроса

Т.е. есть конструкция ResultSet rs = stmt.executeQuery("SELECT * FROM tableName"), как узнать, сколько строк содержит rs? Есть ли какой специальный метод? Не пересчитывать же строки в цикле...

Мне очень нужно и довольно срочно.
JDBC этого не знает. Насчет MySQL не уверен, он, кажется, весь ResultSet разом передает (как сумашедший дятел), но нормальные сервера такого безобразия себе не позволют => в стандартном JDBC такого метода в интерфейсе ResultSet нет.

Как вариант: SELECT COUNT(*) FROM tableName. - универсальный метод.

dispetcher
30-03-2007, 17:25
select count(*) from tableName

Успехов!

Hnu
30-03-2007, 17:38
пользуй rs.next()
Я его и так пользую. Я знаю, что делаю всё через одно место, но у меня задумка такая, что я сначала хочу узнать, сколько строк вернулось, создать массив именно такого размера (потому что потом с ним ещё много чего надо делать), а потом заполнить его тем, что вернулось, благо меня интересует один-единственный столбец.

select count(*) from tableName
То есть мне писать rs = stmt.executeQuery("select count(*) from tableName") ?
* - это значит "все столбцы", как всегда? хотя мне, собственно, нужен всего один
Так как мне потом узнать кол-ко строк-то?

Сорри, я что-то туплю сегодня.

Hnu
30-03-2007, 17:41
http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/resultset.html

пользуй rs.next()

А-а-а-а, всё, спасибо! Нашла нужное место! Я этот документ до этого смотрела в русском переводе, так вот часть про строки там опущена! Спасибо! Теперь всё должно получиться. :)

Hnu
30-03-2007, 22:25
Всем откликнувшимся огромное спасибо! У меня всё получилось! :)