• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

Редактирование записи БД

  • Автор темы jCoder
  • Дата начала
J

jCoder

#1
Помогите разобраться, не могу понять в чем дело...
В JBuilder 10, пишу приложение, для работы с БД Access. В двух связанных таблицах клиенты(master) и квартиры(detail) необходимо редактировать данные.
В клиентах бвло создано одно вычислимое поле замещающее три других(фамилия, имя, отчество), весь код для работы с БД вынес в отдельный компонент, модуль данных DataModule. В нем создал, "коннект" с БД, а также необходимые SQL-запросы для выборки всех столбцов из выше-указанных таблиц, для работы с таблицами использую компоненты QueryDataSet.
Так вот при попытке отредактировать какую либо запись в таблице Клиенты, возникает исключение DataSetException:
See com.borland.dx.dataset.DataSetException error code: BASE+37
com.borland.dx.dataset.DataSetException: DataSet has no unique row identifiers.
Note: For QueryDataSets you need to disable metaDataUpdate.ROWID in the MetaDataUpdate property, in addition to setting the RowId property on a column.
at com.borland.dx.dataset.DataSetException.a(Unknown Source)
at com.borland.dx.dataset.DataSetException.z(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.db(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.gc(Unknown Source)
at com.borland.dx.dataset.DataSet.b(Unknown Source)
at com.borland.dx.dataset.ReadWriteRow.a(Unknown Source)
at com.borland.dx.dataset.ReadWriteRow.setString(Unknown Source)
at soft_master.codebox.DM.setLastName(DM.java:101)
at simplemanager.EditClient.actionPerformed(EditClient.java:167)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.jav
a:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:2
01)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151
)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Как быть, что делать? Очевидно он требует чтобы уникальный идентификатор строки не менялся.
ЗАКРЕПЛЯЮ два файла в которых возникло исключение.
 

Вложения