powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Отображение содержимого курсора в JTable
1 сообщений из 1, страница 1 из 1
Отображение содержимого курсора в JTable
    #34936850
DTF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DTF
Гость
Здравствуйте, уважаемые форумчане!

У меня проблема:
Есть база в Oracle, есть пакет PACKAGE_1, и есть в нем функция, GetClients которая возвращает ссылку на курсор

Мне нужно отобразить в JTable содержимое этого курсора.
Помогите пожалуйста сделать это.

я пробовал писать модель таблицы вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
 class  MyTableModel  extends  AbstractTableModel{
    public  MyTableModel(java.sql.Connection conn) {
       try 
      {
         ocst = ( OracleCallableStatement ) conn.prepareCall("{ ? = call PACKAGE_1.GetClients(?) }", 
                                                             java.sql.ResultSet.TYPE_SCROLL_SENSITIVE, 
                                                             java.sql.ResultSet.CONCUR_UPDATABLE);
         ocst.setInt( 2 , - 1 );
         ocst.registerOutParameter( 1 , oracle.jdbc.driver.OracleTypes.CURSOR);
         ocst.execute();
         
         rs = ocst.getCursor( 1 );
         
         rsmd = rs.getMetaData();
      }
       catch  (SQLException e)
      {
      }
   }
   
    public  Object getValueAt( int  row,  int  col) {
       try  
      {
         rs.absolute(row +  1 );
          return  rs.getObject(col +  1 );
      } 
       catch  (SQLException ex) 
      {
          return   null ;
      }
   }
   
    public   int  getColumnCount() {
       try 
      {
          return  rsmd.getColumnCount();
      }
       catch  (SQLException e)
      {
          return   0 ;
      }
   }
   
    public  String getColumnName( int  col) {
       try  
      {
          return  rsmd.getColumnName(col +  1 );
      } 
       catch  (SQLException ex) 
      {
          return   null ;
      }
   }
   
    public   int  getRowCount() {
       try 
      {
         rs.last();
          return  rs.getRow();
      }
       catch  (SQLException e)
      {
         e.printStackTrace();
          return   0 ;
      }
   }
   
    protected  java.sql.ResultSet rs;
    protected  java.sql.ResultSetMetaData rsmd;
    protected  OracleCallableStatement ocst;
};

но метод getRowCount() выбрасывает исключение из-за того, что набор данных не является прокручиваемым
Как обойти эту проблему, я не знаю :(
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Отображение содержимого курсора в JTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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