Здравствуйте!
Создала в новом разделе в деталях вкладку Файлы1, Файлы2. При удалении файлов из деталей раздела они исчезают с грида, но в базе остаются. Это можно просмотреть с помощью SQL Navigator'a. Проверяла со вкладками Файлы стандартных разделов. Файлы из базы удаляются тоже. Скажите, пожалуйста, почему в моем случае файлы удаляются только из грида, а в базе остаются?

Нравится

4 комментария

Добрый день, Екатерина.
Нужно анализировать содержимое таблиц tbl_FileInMyRazdel и tbl_Files.
В Вашем случае, видимо, были успешно удалены записи из tbl_Files, но не удалены записи из tbl_FileInMyRazdel. Для исправления ошибки необходимо в таблице tbl_FileInMyRazdel для обоих внешних ключей установить признак "Каскадный", что означает каскадное удаление записи в tbl_FileInMyRazdel при удалении записи в tbl_Files, которое происходит при нажатии на кнопку "Удалить" в реестре детали.
Желаю успехов!

Здравствуйте, Дмитрий!
Спасибо за ответ! По аналогии со стандартными подобными таблицами в таблице tbl_FileInMyRazdel есть две каскадные связи. Но в том-то и дело, что из этой таблицы в итоге файлы не удаляются.

Доброго дня! Нужно проверить есть ли действительно эти ключи в структуре базы. Возможно, что имело место сохранение сервиса без обновления структуры. Если ключей нет, то необходимо пересохранить сервис таблицы.
Возможно так же, что была использована не стандартная деталь, а некоторая, созданная своими силами, тогда необходимо описание что и как было сделано.
Так же, возможно, что в качестве набора данных для детали был указан набор данных ds_FileInMyRazdel вместо стандартного ds_FileInItem и тогда записи удаляются только из таблицы связки, а сами файлы остаются. В этом случае надо привести деталь к стандартному виду.

Спасибо! Действительно в Администраторе внешние ключи были, а в самой базе их не было.

Показать все комментарии