Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нет каскадного удаления в таблицах Paradox [D6, Paradox]


Akademik ©   (2003-06-05 12:51:00) 

Создал две связанные таблицы Парадокс в Database Desktop. В свойствах Referentional Integrity поставил режим Cascade.
При редактировании ключевых записей в родительской таблице апдейт связанной записи происходит и в дочерней. Но при попытке удаления выдаётся error: Parent table has detail records.
А по теории при каскадном режиме должно происходить удаление дочерних записей.


Imshanya   (2003-06-05 13:22:00) [1]

2 Akademik © (05.06.03 12:51)

Двы варианта ( первый простенький, второй - посложнее ):

1. Ты Сам четко знаешь подчиненную таблицу, и при помощи экземпляра компонента TQuery в обработчике события BeforeDelete "экземпляра компонента типа TTable осуществляешь каскадное удаление.

2. Переписываешь компонент TTable.
Если разберешься с RINTDesc, то сможешь получить информацию о зависимых таблицах и полях. Дальше с ними (зависимыми таблицами) будешь работать по принципу, изложенному в варианте 1. Некоторая автоматизация на мой взгляд.


Anatoly Podgoretsky   (2003-06-05 13:01:00) [2]

И ни когда не было, при какскадном да, но чего нет того нет, есть только ссылочная целостность.


Наверх

Титульная страница Поиск, карта сайта Написать письмо