powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / ResultSet
14 сообщений из 14, страница 1 из 1
ResultSet
    #32922209
zhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня вопрос: Когда у ResultSet методы beforefirst, afterlast, previous являются недопустимыми? И еще подскажите пожалуйста где можно найти такую инфу на русском языке?
...
Рейтинг: 0 / 0
ResultSet
    #32922224
Фотография ejik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, нужно читать документацию конкретного драйвера. Например, с DB2 UDB JDBC Type4 драйвером у нас точно были проблемы с вызовом .afterLast()
...
Рейтинг: 0 / 0
ResultSet
    #32922227
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhasУ меня вопрос: Когда у ResultSet методы beforefirst, afterlast, previous являются недопустимыми? И еще подскажите пожалуйста где можно найти такую инфу на русском языке?

Все зависит от драйвера JDBC...
...
Рейтинг: 0 / 0
ResultSet
    #32922236
zhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Драйвер Oracle... Но я пользовался этими методами раньше, и они работали. После некоторых перестановок в программе я решил вернуться к их использованию, но получил следующее: "Недопустимая операция для передаваемого набора результатов : beforeFirst"
...
Рейтинг: 0 / 0
ResultSet
    #32922244
Фотография ejik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhasДрайвер Oracle... Но я пользовался этими методами раньше, и они работали. После некоторых перестановок в программе я решил вернуться к их использованию, но получил следующее: "Недопустимая операция для передаваемого набора результатов : beforeFirst"

result set должен быть типа TYPE_FORWARD_ONLY
...
Рейтинг: 0 / 0
ResultSet
    #32922249
Фотография ejik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ejik zhasДрайвер Oracle... Но я пользовался этими методами раньше, и они работали. После некоторых перестановок в программе я решил вернуться к их использованию, но получил следующее: "Недопустимая операция для передаваемого набора результатов : beforeFirst"

result set должен быть НЕ типа TYPE_FORWARD_ONLY
...
Рейтинг: 0 / 0
ResultSet
    #32922253
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
У меня вопрос: Когда у ResultSet методы beforefirst, afterlast, previous являются недопустимыми? И еще подскажите пожалуйста где можно найти такую инфу на русском языке?

Проще простого, вот пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     Connection conDB2 = DB2Connector.getConnect();
     Statement stmtDB2 = conDB2.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.exequteQuery("Select distinct row1 From Database1.Table1 Where row1 = 1");
 if  (!rs.next()) {
   System.out.println("В таблице Table1 нет соответсвующих данных для row1 = 1");
}
 else  {
   rs.beforeFirst();
    while (rs.next()) {
    Что то делаем.............
   }
}
Пользуйся на здоровье, работает во всех БД.
...
Рейтинг: 0 / 0
ResultSet
    #32922258
Фотография ejik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid автор
У меня вопрос: Когда у ResultSet методы beforefirst, afterlast, previous являются недопустимыми? И еще подскажите пожалуйста где можно найти такую инфу на русском языке?

Проще простого, вот пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     Connection conDB2 = DB2Connector.getConnect();
     Statement stmtDB2 = conDB2.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.exequteQuery("Select distinct row1 From Database1.Table1 Where row1 = 1");
 if  (!rs.next()) {
   System.out.println("В таблице Table1 нет соответсвующих данных для row1 = 1");
}
 else  {
   rs.beforeFirst();
    while (rs.next()) {
    Что то делаем.............
   }
}
Пользуйся на здоровье, работает во всех БД.

Есть маааленькая разница между .next() и .beforeFirst(). Второй метод не двигает курсор, так что человеку прийдётся код править...
...
Рейтинг: 0 / 0
ResultSet
    #32922266
Фотография ejik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2liquid - пардон, беру слова назад, про другой метод говорил.
...
Рейтинг: 0 / 0
ResultSet
    #32922276
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2liquid - пардон, беру слова назад, про другой метод говорил.
Бывает.
...
Рейтинг: 0 / 0
ResultSet
    #32922313
zhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LiQuidПользуйся на здоровье, работает во всех БД.
Спасибки, пользуюсь =)
P.S. Никто не знает где иожно раздобыть русскую документацию и/или справочник по свойствам и функциям? Сильно неудобно читать во встроенном хелпе, даже аглицкий вспоминать начал!))
...
Рейтинг: 0 / 0
ResultSet
    #32922656
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даже аглицкий вспоминать начал!))
Советую тебе его учить начать, т.к. хорошей документации на русском нет, точнее есть, но выходит она в лучшем случае с опозданием на 2-а года и описываются все равно только стандартные библиотеки, а все остальное на английском.
...
Рейтинг: 0 / 0
ResultSet
    #32922900
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2zhas: учти только, что в Oracle подобные ResultSet'ы ИМХО возможно получить только через непосредственный запрос. Бегать по ResultSet'у, полученному через refcursor, не получается. Т.е. код наподобе:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
String query =
  "begin\n" +
  "  open ? for\n" +
  "    select e.* from emp e;\n" +
  "end;";
CallableStatement cst = con.prepareCall(
  query, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY
);
cst.registerOutParameter( 1 , OracleTypes.CURSOR);
cst.execute();
ResultSet rs = (ResultSet) cst.getObject( 1 );
rs.next();
rs.previous();     

на последней строке вылетит с ошибкой.
...
Рейтинг: 0 / 0
ResultSet
    #32922976
zhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popovучти только, что в Oracle подобные ResultSet'ы ИМХО возможно получить только через непосредственный запрос.
Ok! Буду иметь ввиду.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / ResultSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]