![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
удалить запись(и) из БД Access
Girol © (2007-07-16 10:40:00)Использую компоненты ADO, БД Access - две таблицы. Необходимо:
1) удалить запись в главной таблице (при этом в подчинённой, связанной по полю "Х" -> один ко многим, должны быть удалены все соответствующие данному ключевому полю записи);
2) удалить запись в подчинённой таблице.
Пытаюсь использовать запрос:
ADOQuery.SQL.Text:='DELETE FROM ... WHERE ....';
В первом случае выдаётся ошибка, - необходимо сначала удалить все записи в подчинённой таблице, прежде чем удалять запись в главной.
Я пытаюсь удалить записи в подчинённой - никаких ошибок не появляется, но и записи ни одной не удалилось.
Где я ошибся?
sniknik (2007-07-16 11:52:00) [1]> В таком случае какие проблемы,
базу переделать(/перепроектировать)... проблема однако. ;о)
Anatoly Podgoretsky (2007-07-16 11:45:00) [2]> sniknik (16.07.2007 10:56:04) [4]
В таком случае какие проблемы, просто настроить ссылочную целостность с каскадным удалением
Girol (2007-07-16 11:42:00) [3]Всем спасибо!
sniknik (2007-07-16 10:56:00) [4]> Не знаю, есть ль опция ON DELETE CASCADE внешнего ключа в Акцесс.
есть.
Desdechado (2007-07-16 10:43:00) [5]Не знаю, есть ль опция ON DELETE CASCADE внешнего ключа в Акцесс. Но это она отвечает за такое удаление.
Плохиш (2007-07-16 10:43:00) [6]
> Я пытаюсь удалить записи в подчинённой - никаких ошибок
> не появляется, но и записи ни одной не удалилось.
> Пытаюсь использовать запрос:
> ADOQuery.SQL.Text:='DELETE FROM ... WHERE ....';
> Где я ошибся?
Или там, где троеточие, или там, где четвероточие. Ну или, пойдём дальше, тремя строками выше и ниже...
Ega23 (2007-07-16 10:42:00) [7]
> Где я ошибся?
Дык кто эже его знает???
> Я пытаюсь удалить записи в подчинённой
Должны удалиться. Если не удаляются - смотри where.