Главная страница
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.017 c
3-60494
Старик
2002-07-29 13:58
2002.08.19
Структура таблиц


1-60580
Up
2002-08-08 01:44
2002.08.19
Старый UPX (0.84?)


14-60829
Lamer86
2002-07-24 21:35
2002.08.19
Игра по модему. База данных игроков


14-60834
Anatoly Podgoretsky
2002-07-24 13:42
2002.08.19
На Землю летит двухметровый астероид


1-60661
demona
2002-08-09 04:57
2002.08.19
есть ли компонент как ColorGrid, но с , хотя бы, 256 цветами?