powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / CallableStatement and ResultSet
14 сообщений из 14, страница 1 из 1
CallableStatement and ResultSet
    #33913894
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
процедура возвращает запрос состоящий из 3 полей и 10 записями!
Как это все дело получить в Java и запихнуть в List????
спасибо!!!
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33913943
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если поиском пользоваться не умееш, то ват так
Модератор: ИСпользуйте кнопку SRC для форматирования выделенного текста.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 public  List<TrapFilter> getFilters( Long  id) {
        Session s = getSession();
        CallableStatement ps =  null ;
        ResultSet rs =  null ;
         try  {
            ps = s.connection().prepareCall("{ call PKG_INTERFACE.pr_get_trap_filters_ask(?,?) }");
            ps.setLong( 1 , id);
            ps.registerOutParameter( 2 , OracleTypes.CURSOR);
            ps.execute();

            rs = (ResultSet) ps.getObject( 2 );

            List<TrapFilter> list =  new  ArrayList<TrapFilter>();

             while  (rs.next()) {
                TrapFilter trap =  new  TrapFilter();
                trap.setId(rs.getLong( 1 ));
                trap.setName(rs.getString( 3 ));

                list.add(trap);
            }
             return  list;
        }
         catch  (Exception e) {
...
хотя
>>процедура возвращает запрос
это интересно... наверно курсор
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33913964
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleTypes.CURSOR
хмм....а как для Ms Sql Server???? Как я понял это для Oracle!!!!!

в процедуре запихан простой select и при ее вызове, он его возвращает, но не через out parameter!!!!
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33913975
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и что такое <TrapFilter>????
у меня на него ругается!!!!
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33913983
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а есть универсальные курсоры, java.sql.Types.OTHER называются
должно прокатить...
оден хрен по (ResultSet) ps.getObject(2); приведение типов идет
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33913987
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html#getMoreResults()
+ getResultSet()
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33913992
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mosи что такое <TrapFilter>????
у меня на него ругается!!!!
эта фишка JVM 1.5, читай доку
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914018
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оден хрен по (ResultSet) ps.getObject(1); приведение типов идет

так а обязательно надо писать что call PKG_INTERFACE.pr_get_trap_filters_ask(?)
если процедура не имеет входных параметров а возвращает запрос???
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914031
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
процедура которая возращаят запрос, называется ФУНКЦИЯ, вроде бы :)
делай из нее процедуру с выходным параметром типа курсор
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914039
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dremmm mos
так а обязательно надо писать что call PKG_INTERFACE.pr_get_trap_filters_ask(?)
если процедура не имеет входных параметров а возвращает запрос???

процедура которая возращаят запрос, называется ФУНКЦИЯ, вроде бы :)
делай из нее процедуру с выходным параметром типа курсор
очнись. у человека мс скл. там можно писать что то вроде
Код: plaintext
1.
2.
3.
procedure test
    select * from t1;
    select * from t2;
end;
без объявления out параметров.
я ж написал че надо сделать. см. выше.
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914041
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну это сделаем
не только функция может вернуть запрос....
проблема как в Java запихнуть в list, только без
List<TrapFilter> list = new ArrayList<TrapFilter>();

TrapFilter, а по простому- List list = new ArrayList();
и в list запихнуть select
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914045
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm....помоги написать, там я не врубился, с иностранным туго
спасибо
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914066
Dremmm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mosну это сделаем
не только функция может вернуть запрос....
проблема как в Java запихнуть в list, только без
List<TrapFilter> list = new ArrayList<TrapFilter>();

TrapFilter, а по простому- List list = new ArrayList();
и в list запихнуть select

"Ему рано еще в воду"... :-)
возьми умную книгу, типа "Философия JAVA", почитай, подумай, прочти ее еще раз, (кстати я сам читал ее 2 раза), и проблем "как в Java запихнуть в list" не будет.
...
Рейтинг: 0 / 0
CallableStatement and ResultSet
    #33914086
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mosпроцедура которая возращаят запрос, называется ФУНКЦИЯ, вроде бы :)
Не совсем:) В MSSQL функция - функцией, а процедура, возвращающая resultset - две большие разницы.
Код: plaintext
1.
2.
3.
4.
5.
6.
 class  Login {
   int  spid;
  String loginame;
  String dbname;
  String status;
}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Connection con;
...
CallableStatement cst = con.prepareCall("{call sp_who}");
ResultSet rs = cst.executeQuery();

List logins =  new  LinkedList();

 while  (rs.next()) {
//  System.out.println(
//    rs.getInt("spid") +
//  " " + rs.getString("loginame") +
//    " " + rs.getString("dbname") +
//    " " + rs.getString("status")
//  );
  Login login =  new  Login();
  login.spid = rs.getInt("spid");
  login.loginame = rs.getString("loginame");
  login.dbname = rs.getString("dbname");
  login.status = rs.getString("status");
  logins.add(login);
}
cst.close();
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / CallableStatement and ResultSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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