IBDataSet, MasterData&DetData проблема с добавить запись
Добавлено: 06 июн 2008, 13:19
Привет всем. Честно поискал в поиске, не пинайте если проглядел, затупил, никак не могу разобраться, плиз хелп???
Вопрос вот какой.
Есть MasterData (IBDataSet1 + IBTranzaction1 + OraDataSource1 + DBGrid1). Табилца имеет структуру TABLE1(ID, DATA).
Есть DetailedData, для таблицы TABLE2(ID_T2, ID_T1, DATA). ID_T1 - это ключ TABLE1.ID.
ID и ID_T2 - проставляются триггером (генераторами).
В IBDataSet2:
1. DataSourse = OraDataSource1
2. SelectSQL = 'SELECT * FROM TABLE2 WHERE ID_T1 = :ID'
на форме когда я перехожу по записям в DBGrid1 в DBGrid2 отображаются те которые надо(TABLE2.ID_T1=TABLE1.ID), т.е. Select работает корректно. Проблемы начинаются при попытке ввода новой записи в DBGrid2. В IBDataSet2 GEneratorField я поставил, поле ID_T2 значение проставляется.
Ругается на то, что значение ID_T1 null
Что за ерунда не понимаю, InsertSQL = 'INSERT INTO TABLE2 (ID_T1, DATA) VALUES(:ID,
ATA)'. Если руками подставлять значение ID_T1 d событии BeforePost - ругается на нарушение целостности ключа....
Вопрос вот какой.
Есть MasterData (IBDataSet1 + IBTranzaction1 + OraDataSource1 + DBGrid1). Табилца имеет структуру TABLE1(ID, DATA).
Есть DetailedData, для таблицы TABLE2(ID_T2, ID_T1, DATA). ID_T1 - это ключ TABLE1.ID.
ID и ID_T2 - проставляются триггером (генераторами).
В IBDataSet2:
1. DataSourse = OraDataSource1
2. SelectSQL = 'SELECT * FROM TABLE2 WHERE ID_T1 = :ID'
на форме когда я перехожу по записям в DBGrid1 в DBGrid2 отображаются те которые надо(TABLE2.ID_T1=TABLE1.ID), т.е. Select работает корректно. Проблемы начинаются при попытке ввода новой записи в DBGrid2. В IBDataSet2 GEneratorField я поставил, поле ID_T2 значение проставляется.
Ругается на то, что значение ID_T1 null

