powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Выходные параметры процедуры
2 сообщений из 2, страница 1 из 1
Выходные параметры процедуры
    #34329089
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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   int []  GetLengthWidth( int  Angle_Start,
                                  int  Angle_End,
                                  int  nArea,
                                  int  inDefectKey) {
        CallableStatement cstmt =  null ;
         int [] a =  new   int [ 2 ];
         try  {
            cstmt = getConnect.prepareCall("{call package1.procedure1(?,?,?,?,?,?)}");
            cstmt.setInt( 1 , Angle_Start);
            cstmt.setInt( 2 , Angle_End);
            cstmt.setInt( 3 , nArea);
            cstmt.setInt( 4 , inDefectKey);
            cstmt.registerOutParameter( 5 ,OracleTypes.INTEGER);
            cstmt.registerOutParameter( 6 ,OracleTypes.INTEGER);
            cstmt.execute();

            a[ 0 ] = cstmt.getInt( 5 );
            a[ 1 ] = cstmt.getInt( 6 );
        } catch (Exception e) {
            write(e, "GetLengthWidth");
        }
         return  a;
    }
вот хранимая процедура:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  procedure procedure1(Angle_Start in number, 
                           Angle_End in number, 
                           nArea in number, 
                           inDefectKey in number, 
                           nLength out number, 
                           nWidth out number) is
    diam number;
  begin
       select TO_Number(e.ndiametr_ext) into diam
       from ias_defects d, ias_pipepoints p, ias_v_elemparts e
       where d.npipepointid = p.npipepointkey
       and p.npipeid = e.npipeid
       and d.ndefectkey = inDefectKey
       and p.ndistancereal between e.km_beg and e.km_end -  0 . 0000001 ;
       
       nWidth :=  sys.standard.abs(Angle_End - Angle_Start)* 2 * 3 . 14159 *diam/ 2 / 12 ;
       nLength := nArea* 1000000 /nWidth;
  end;

Вызываю метод пишет:
java.sql.SQLException: Недопустимый индекс столбца

В чем проблема?
...
Рейтинг: 0 / 0
Выходные параметры процедуры
    #34329463
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
            cstmt.setInt( 3 , nArea);
            cstmt.setInt( 4 , inDefectKey);
В этом. Если ты хочешь что то передавать в процедуру и получать обратно, параметры должны быть in out.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Выходные параметры процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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