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

Вниз

Обновление базы и ADO   Найти похожие ветки 

 
Bogus   (2002-07-30 15:26) [0]

Доброго здравия уважаемым мастерам!

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

SQLCommand : tADOCommand;
Query : tADOQuery;

SQLCommand.CommandText := "delete from <вторая> where
<ключ_первой> = " + <то,что нужно> ;
SQLCommand.Execute;
Query.Delete;

Получаю ошибку: Таблица вторая содержит связанные элементы...,
или что-то в этом духе.

Вот мы и подошли к сути вопроса: как заставать таблицу вторая реально обновиться. Если не трудно, набросайте правильный вариант предидущего фрагмента.

Заранее спасибо и извините, если сильно повторяюсь.


 
Mike Kouzmine   (2002-07-30 15:34) [1]

не совсем понятно после where


 
Jee   (2002-07-30 15:40) [2]

На сколько я понял, ты хочешь удалить из "мастер" таблицы запись и в таблице "деталь" содержится запись со значением вшешнего ключа равному значению первичного ключа первой таблицы. Ясное дело, связь не позволит этого сделать. Сначала надо удалить из второй таблицы все записи, связанные с первой, а потом удалить из первой. Тогда в событии первой таблице BeforeDelete пишешь

SQLCommand.CommandText := "delete from <вторая> where
<внешний_ключ> = " + <Первая>.<первичный ключ>.<значение> ;
SQLCommand.Execute;



 
Bogus   (2002-07-30 18:14) [3]

2 Jee
> На сколько я понял, ты хочешь удалить из "мастер" таблицы запись > ...
Верно, именно этого я и хочу. До твоей мысли я дошел, проблема именно в том, что между SQLCommand.Execute и реальным обновлением базы проходит несколько секунд. Т.е. получается, что когда я выполняю delete, таблица "деталь" как-будто еще содержит связанные записи.



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

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

Наверх





Память: 0.45 MB
Время: 0.009 c
14-60817
OlegatoR
2002-07-24 10:02
2002.08.19
Как я купил диск с Delphi


3-60511
kiralse
2002-07-30 08:03
2002.08.19
Как сделать быстрый поиск по двум таблицам


1-60619
Hellman
2002-08-06 08:08
2002.08.19
Текста в записях


1-60665
Дмитрий Баранов
2002-08-09 11:32
2002.08.19
Как прибить SYSTEM-процесс


3-60530
billybons
2002-07-30 09:58
2002.08.19
сортировка в DBLookupComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский