Главная страница
    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.44 MB
Время: 0.005 c
1-60586
Nikoss
2002-08-06 00:10
2002.08.19
Подскажите, как узнать из какой процедуры была вызванна процедура


14-60848
Zergling
2002-07-25 09:04
2002.08.19
как эффективней путешествовать по интернету???


4-60893
Nubie
2002-05-21 18:43
2002.08.19
Невидимые файлы


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


1-60617
Вэн
2002-08-08 14:54
2002.08.19
Раблта в Интернет





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