Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
24 / 24 / 18
Регистрация: 11.03.2012
Сообщений: 175

Удаление из БД родительского поля и всех,связанных с ним, дочерних полей

14.04.2014, 23:19. Показов 1322. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, форумчане !)
Завис снова с одним траблом..Подскажите, как сделать удаление родительской записи вместе со всеми дочерними, которые там есть ?
Пример на скрине: удалить Смартфоны и чтобы из таблицы удалилось всё, что с ними связано (т.е. и Samsung GALAXY S4 LTE, и S3, и Samsung GALAXY DUOS и т.д.) + ко всему надо удалить все данные из других таблиц, связанных с этими записями
Понимаю, что надо как-то просмотреть все дочерние до самого нутра..И совсем ясно, что такого
C#
1
2
3
4
5
6
7
8
9
10
  
int ID = Convert.ToInt32(treeView1.SelectedNode.Tag); 
         OleDbCommand command_delete_oglav_parent = new OleDbCommand("DELETE FROM Оглавление WHERE Оглавление.Код=" + ID + "", _connection1);
            command_delete_oglav_parent.ExecuteNonQuery();
            OleDbCommand command_delete_oglav_child = new OleDbCommand("DELETE FROM Оглавление WHERE Оглавление.Код_родителя=" + ID + "", _connection1);
            command_delete_oglav_child.ExecuteNonQuery();
            OleDbCommand command_delete_picture = new OleDbCommand("DELETE FROM Картинки WHERE Картинки.Код_картинки=" + ID + "", _connection1);
            command_delete_picture.ExecuteNonQuery();
            OleDbCommand command_delete_text = new OleDbCommand("DELETE FROM Тексты WHERE Тексты.Код_текста=" + ID + "", _connection1);
            command_delete_text.ExecuteNonQuery();
будет маловато..)))
Подскажите, что как можно сделать ?
Структура таблицы Оглавление:
Код(COUNTER PRIMARY KEY) | Код_родителя(LONG) | Заголовок(TEXT) | Порядок(LONG)
Миниатюры
Удаление из БД родительского поля и всех,связанных с ним, дочерних полей  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.04.2014, 23:19
Ответы с готовыми решениями:

Удаление родительской записи, если не осталось связанных дочерних
Доброго вечера! Представим простой пример: таблица кёрлингистов и таблица команд. Каждый кёрлингист имеет foreign key на таблицу команд....

Удаление поля связанных таблиц
умеется таблицы, одна из них родительная а остальные дочерние, Так что мне нужно сделать чтобы при удалении ключа родительной одалялись и...

Удаление всех связанных объектов
Делаю сайт для чтения книг(почти). Сайт интернациональный, то бишь для текста использую разны модели. Сейчас структура выглядит вот так:...

2
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
15.04.2014, 13:25
Рекурсия наверное Вам поможет:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void MyFunction(object "родительский_объект")
{
    //1. Получаем всех детей родителя
    //2. Просматриваем элементы поочереди:
    { 
        //Если у элемента нет детей то удаляем его
        Remove("<удаляем элемент>");
        //иначе у улумента есть дети и вызываем эту функцию еще раз
        {
             MyFunction("<текущий_элемент_дите-родитель>");
             Remove("<удаляем дете-родтедя>");
        }
     }
}
//функция/метод удаления одного элемента.
private void Remove(object "элемент для удаления")
{
    //удаляем элемент
}
1
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
15.04.2014, 16:14
Цитата Сообщение от FallenAngel76ru Посмотреть сообщение
Подскажите, как сделать удаление родительской записи вместе со всеми дочерними, которые там есть ?
Если такое удаление будет происходить всегда, то нужно настроить связи между таблицами на каскадное удаление. Тогда при удалении родительской записи дочерние будут удалены автоматически
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2014, 16:14
Помогаю со студенческими работами здесь

Удаление всех таблиц кроме связанных
Всем доброго времени суток! Подскажите пожалуйста, есть ли возможность удалить ВСЕ таблицы из базы Access кроме связанных, при условии...

Удаление всех записей, связанных с определенным полем
есть таблица с подразделениями(рис). и одно из подразделений было ликвидировано и нужно передать все запасы его товаров другому...

Растяжение родительского блока по высоте дочерних
Суть проблемы: Есть общий блок div, в котором содержится шапка и пара колонок. Этот общий блок по-сути является фоном содержимого....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru