powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBCAdapter
5 сообщений из 5, страница 1 из 1
JDBCAdapter
    #33323923
Sherst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
Не могу разобраться с классом JDBCAdapter.Я использую этот класс вместе с JTable.Иногда возникает необходимость в редактировании ячейки в JTable.
Для того чтобы изменения в JTable сохранялись в БД я раскоментировал строку
251 (statement.executeQuery(query)),при редактировании ячейки выводится
в консоль UPDATE запрос(System.out.println(query)),все правильно,а вот никаких изменений в БД я не вижу.Поправьте если я что-то делаю не так.
Заранее спасибо.
...
Рейтинг: 0 / 0
JDBCAdapter
    #33324091
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
м.б., connection.commit()?
...
Рейтинг: 0 / 0
JDBCAdapter
    #33324332
Sherst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я закоментировал содержимое блока catch(...) в методе setValueAt() поэтому не увидел описание прерывания,вот какая ошибка вылетает при редактировании ячейки таблицы JTable:

interbase.interclient.SQLException: [interclient][interbase] Dynamic SQL Error
SQL error code = -206
Column unknown
СОДЕРЖИМОЕ_ЯЧЕЙКИ_КОТОРУЮ_РЕДАКТИРУЮ

Приведу код метода setValueAt(...)
Код: 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.
  public   void  setValueAt(Object value,  int  row,  int  column) {
         try  {
            String tableName = metaData.getTableName(column+ 1 );
             if  (tableName ==  null ) {
                System.out.println("Table name returned null.");
            }
            String columnName = getColumnName(column);
            String query =
                "update "+tableName+
                " set "+columnName+" = "+dbRepresentation(column, value)+
                " where ";	  
             for ( int  col =  0 ; col<getColumnCount(); col++) {
                String colName = getColumnName(col);
                 if  (colName.equals("")) {
                     continue ;
                }
                 if  (col !=  0 ) {
                    query = query + " and ";
                }
                query = query + colName +" = "+
                    dbRepresentation(col, getValueAt(row, col));
            }
            System.out.println(query);
            statement.executeQuery(query);
	    connection.commit();
        }
         catch  (SQLException e) {
              e.printStackTrace();
        }       

        Vector dataRow = (Vector)rows.elementAt(row);
        dataRow.setElementAt(value, column);
    }

Что можете посоветовать.
...
Рейтинг: 0 / 0
JDBCAdapter
    #33324582
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо
Код: plaintext
statement.executeQuery();
напиши
Код: plaintext
statement.executeUpdate();
...
Рейтинг: 0 / 0
JDBCAdapter
    #33324718
Sherst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался :)
Спасибо всем кто отозвался.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBCAdapter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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