Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2014, 12:31   #1
Nekala
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 25
По умолчанию Удаление из нескольких таблиц

Помогите, пожалуйста, разобраться.
Сделала в БД в Access. Связь между таблицами Resaltat и Itog сделала 1 к 1 и поставила галочку "каскадное удаление связанных записей".Снимок1.PNG
в Делфи код, но запись все равно удаляется только из первой таблицы(((

var Id_Itog: integer;
begin
DataModule2.ADOQuery4.SQL.Text:='de lete from Itog where Id_Itog = :Id_Itog ';
DataModule2.ADOQuery4.Parameters[0].Value:= DBGrid1.Datasource.DataSet.FieldByN ame('Id_Itog').Value;
DataModule2.ADOQuery4.ExecSQL;
DBGrid1.Datasource.DataSet.Close;
DBGrid1.Datasource.DataSet.Open;
end;
Nekala вне форума Ответить с цитированием
Старый 04.12.2014, 12:34   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А второй датасет не надо переоткрывать?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.12.2014, 12:35   #3
Nekala
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 25
По умолчанию

Эм.....какой второй?
Nekala вне форума Ответить с цитированием
Старый 04.12.2014, 12:36   #4
Nekala
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 25
По умолчанию

У меня же вроде только один датасет
Nekala вне форума Ответить с цитированием
Старый 04.12.2014, 12:40   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
только один датасет
А в нем SELECT из двух таблиц?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.12.2014, 12:43   #6
Nekala
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А в нем SELECT из двух таблиц?
нет, одной таблицы

SELECT Itog.Id_Itog, Rezultat.FIO, Itog.Vozrast, Pol.Pol, Gruppa.Name_Gruppa, Itog.GM, Itog.KUV_GM, Itog.MM, Itog.KUV_MM, Itog.KM, Itog.KUV_KM
FROM Rezultat INNER JOIN (Pol INNER JOIN (Gruppa INNER JOIN Itog ON Gruppa.Id_Gruppa = Itog.Id_Gruppa) ON Pol.Id_Pol = Itog.Id_Pol) ON Rezultat.Id_FIO = Itog.Id_FIO;
Nekala вне форума Ответить с цитированием
Старый 04.12.2014, 13:14   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Дык у вас в схеме каскадное удаление дочерних записей из Itog при удалении родительский записей из Rezultat, а не наоборот
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод из нескольких таблиц shtep PHP 5 29.04.2014 09:00
запрос из нескольких таблиц govorun1 БД в Delphi 4 02.01.2014 17:13
Удаление из нескольких таблиц(Delete) manula PHP 11 09.03.2013 23:45
обединение нескольких таблиц Rgena84 Microsoft Office Excel 0 03.11.2011 06:40
Удаление из нескольких таблиц qwerty1301 Microsoft Office Access 17 05.05.2010 11:34