Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Базы данных > DBE Проверка на наличие связанных данных при удале |
Автор: Ash313374 8.1.2012, 10:13 |
Добрый день! Создала с помощью BDE (Paradox 7) несколько таблиц, среди них есть связанные. Сначала вопрос: как можно программно из главной таблицы перейти в подчинённую? Иначе говоря: допустим, у меня есть 20 таблиц, и всего одна из них подчинена главной. Использую компоненты DataSourse, TTable, DBGrid. Есть ли какое-то свойство у этих компонентов, чтобы обратиться напрямую к подчинённой таблице и с ней поработать? Гуглила, но безрезультатно. А нужно это вот для чего. Для связанных таблиц в настройках можно выбрать один из двух вариантов: 1) Prohibit - запрещено изменять значение ключевого поля головной таблицы или удалять из неё записи: 2) Cascade - при изменении значения ключевого поля головной таблицы изменится значение этого поля в подчинённой, а при удалении записи из головной таблицы будут удалены все записи в подчинённой таблице, в которой используется это значение. Собственно говоря, хотелось бы получить что-то среднее - запретить удаление при наличии записей в подчинённой таблице (если же в подчинённой таблице записей с таким значением нет, то удалять можно). А при изменении ключевого поля в головной таблице менять его в подчинённой. В идеале, хотелось бы оставить опцию Cascade, но при попытке удалить запись проверять программно, используется ли её ключ в подчинённой таблице. Буду очень благодарна за ответы! |