Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.19;
Скачать: CL | DM;

Вниз

Обновление базы и 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
3-60531
realship
2002-07-30 13:45
2002.08.19
Подскажите плиз по Аксессу и SQL


14-60800
zje
2002-07-23 12:02
2002.08.19
Шифрование


1-60553
SinnerPro
2002-08-06 02:32
2002.08.19
Глюка с ListView


1-60730
Poirot
2002-08-05 05:33
2002.08.19
Создать свой ScrollBar в компоненте от TCustomControl


1-60733
bobr12
2002-08-07 10:12
2002.08.19
Как узнать имя компьютера на котором запущена программа?