Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

Referential Integrity. Каскадное обновление.   Найти похожие ветки 

 
Metallex ©   (2002-10-14 17:53) [0]

При задании связи между дочерней и родительской таблицей возникает проблема удаления записи из родительской таблицы при наличии зависимых в дочерней. Выбрал каскадное обновление. Ноль эмоций. Возникает ошибка "Master has detail records". Где копать?


 
MsGuns ©   (2002-10-14 23:51) [1]

Прежде чем удалить (изменить ключи связки) запись в Master-таблице, следует сделать удаление/изменение во ВСЕХ Detail-таблицах, связанных с нею отношением "Один-ко-многим" или "Один-к-одному". Лучше всего это делать обработчиками событий (для Paradox нет понятие сервера, все делается на клиенте, поэтому триггера не уместны) BeforeDelete и BeforePost, из процедур обработчиков ручками удаляя в цикле While Not <Имя НД>.EOF все прилинкованные записи. Для изменения ключей аналогично менять ключи в подобном цикле, но с Next.
А вообще удалять (и изменять ключи) лучше всего запросами, но в этом случае надо временно освобождать таблицы, из которых делается удаление, отцепляя их от гридов и запрещяя перерисовку экрана. Это проще в смысле программирования, но порою недоступно при многопользовательском "юзании" данных таблиц



Страницы: 1 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.013 c
7-11502
VetMIg
2002-08-30 01:59
2002.11.04
Модальные окна


14-11484
Wonder
2002-10-15 16:19
2002.11.04
Прикольно :)


1-11326
ProgOnDel
2002-10-22 13:54
2002.11.04
Работа с числами целого типа с более чем 60 значащими разрядами.


14-11455
chsv
2002-10-12 17:45
2002.11.04
а какие хорошие книги есть по WIN API?


3-11103
Ренат
2002-10-14 10:06
2002.11.04
Привелегии на всю базу