ADOQuery.Delete

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Alesandr
Сообщения: 2
Зарегистрирован: 16 июл 2009, 21:14

Здраствуйте !!! В свойстве ADOQuery.sql следующий запрос
select a.*, b.city, c.street
from
clients as a left join city as b on a.city_id = b.id
left join Street as c on a.street_id = c.id

этот запрос отображается в гриде. Необходимо удалять некоторые записи, вылазиет ошибка при использовании ADOQuery.Delete
'DELETE statement conflicted
with COLUMN REFERENCE constraint 'FK_Clients_Street'. The conflict occurred in database 'library', table
'Clients', column 'Street_ID'

т.к. удаление происходит не только из главной табл., но и из справочников.

Вопрос как правильно удалять??? т.е. чтобы удаление происходило только в главной табл. clients
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

выполнить отдельный запрос на удаление из нужной таблицы, потом отрефрешить запрос
Изображение
Alesandr
Сообщения: 2
Зарегистрирован: 16 июл 2009, 21:14

Спасибо за ответ, проблему решил использованием компонента ADODataSet, там в динамическом свойстве можно указать к какой из таблиц в запросе относилось ADODataSet.Delete
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

угу, тоже вариант, просто с АДО плотно не работал, деталей не знаю :)
Изображение
Ответить