Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать каскадное удаление?   Найти похожие ветки 

 
alenka   (2002-10-06 00:49) [0]

Всем привет!Вопрос чайника.Есть две таблицы Access, связанные соотношением "один-ко-многим",одна-вид_блюда,другая-разновидность_блюд.К примеру,в таблице вид_блюда содержится "закуска".Как сделать так,чтобы при удалении "закуски" из таблицы вид_блюда,все блюда такого типа,т.е закуски,в таблице разновидность_блюд также удалялись?


 
Оливейра   (2002-10-06 01:57) [1]

На диаграммке в Access связь нарисовать и чпокнув по ней правой кнопкой мышки и выбрав properties выставить галки на Cascade Refresh и Delete (или чего там). Но надежней в два этапа ручками - сперва из подчиненной, потом из главной.


 
aus   (2002-10-06 16:18) [2]

Чем надежней? Еще ни разу созданное в Access не подводило.


 
Mike_Goblin   (2002-10-06 18:26) [3]

>Оливейра
а если вдруг не из Вашего приложения попробуют удалять? А код контроля ошибки отнють не сделает Ваше приложение проще. Выносить логику ссылочной целостности на клиента, какие в этом преимущества?


 
alenka   (2002-10-08 00:38) [4]

Прошу прощения за немножко некоректную постановку вопроса.Мне нужно реализовать такое удаление в Delphi,а не в Access.Разумеется все нужные чпоки я проделала в Access.Таблицы открываю через ADO.
Так как быть?


 
Tornado   (2002-10-08 08:02) [5]

Я делал примерно так: удалял записи запросом по ключевому полю.

if MessageDlg("Подтвердите удаление записи", mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Query.SQL.Clear;
Query.SQL.Add("Delete from Table_1 where ID = " + InttoStr (Table_1.FieldByName("ID").AsInteger));
Query.ExecSQL;
Query.SQL.Clear;
Query.SQL.Add("Delete from Table_2 where ID = " + InttoStr(Table_2.FieldByName("ID").AsInteger));
Query.ExecSQL;

end;

Работает нормально.


 
Max Zyuzin   (2002-10-08 08:40) [6]

>Tornado © (08.10.02 08:02
На самом деле это ни есть верно.

А по сути вопроса сказать не могу, с аксесом не работал, по этому не в курсе что в нем есть (транзакции например)



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

Форум: "Базы";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
8-92625
.: Joiro :.
2002-06-30 18:11
2002.10.28
Компоненты RGB из констант красок.


1-92415
maxim2
2002-10-17 13:59
2002.10.28
Как запретить пунктам меню присвоить свойство Enable:=false;


3-92361
Reanimator
2002-10-07 14:45
2002.10.28
как настроить язык программно в dbf?


4-92775
Igor_thief
2002-09-13 13:00
2002.10.28
Работа с dll


1-92431
lann
2002-10-17 17:21
2002.10.28
TWordDocument





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский