Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Вниз

DELETE FROM   Найти похожие ветки 

 
Пётр   (2007-07-10 15:41) [0]

При нажатии на кнопку пытаюсь удалить запись в главной таблице БД:
ADOQuery.SQL.Text:="DELETE FROM Table WHERE pole=:n";
По полю pole она связано отношением один ко многим с подчинённой.
Удалить не удаётся - пишет, что в подчинённой таблице есть связанные записи.

Как решить этот вопрос?


 
Сергей М. ©   (2007-07-10 15:44) [1]


> Как решить этот вопрос?


Предпринять любые допустимые и доступные меры к предварительному удалению связанных записей в подчиненной таблице.

По-моему, это очевидно)


 
Anatoly Podgoretsky ©   (2007-07-10 15:46) [2]

По моему достаточно поверить сообщению и поступить в соответстии с ним.


 
Пётр   (2007-07-10 15:51) [3]

Я пытался придумать что-нибудь вроде:
ADOQuery.SQL.Text:="DELETE FROM Table, Table2 WHERE pole=:n";
)))

Вы подскажите - где хоть ответ искать?
- второй ADOQuery.SQL.Text:="DELETE... для подчинённой таблицы
- настройки БД в самом Access
- можно доработать существующий запрос
???


 
Галинка ©   (2007-07-10 15:56) [4]

ADOQuery.SQL.Text := "DELETE FROM SeconderyTableName WHERE pole=:n"
ADOQuery.SQL.Text := "DELETE FROM PrimaryTableName WHERE pole=:n"


 
Anatoly Podgoretsky ©   (2007-07-10 15:56) [5]

Это не код, а огрызок


 
Ega23 ©   (2007-07-10 15:56) [6]

можно наложить conatraint-модификатор on delete cascade
Не знаю, правда, поддерживает ли Access такое...

А в общем случае -
delete Table2 where pole=:n
delete Table1 where pole=:n


 
Пётр   (2007-07-10 16:19) [7]

> Галинка ©   (10.07.07 15:56) [4]
ADOQuery.SQL.Text := "DELETE FROM SeconderyTableName WHERE pole=:n"
ADOQuery.SQL.Text := "DELETE FROM PrimaryTableName WHERE pole=:n"


попробовал - это два запроса надо писать (
А можно как-нибудь, тогда адулять записи в главной, не удаляя при этом в подчинённой?


 
Сергей М. ©   (2007-07-10 16:21) [8]


> это два запроса надо писать


Это, конечно же, гораздо сложнее, чем сподобиться до информирования местной общественности о конкретно используемой тобой СУБД)


 
Пётр   (2007-07-10 16:21) [9]

> Пётр   (10.07.07 16:19) [7]
это два запроса надо писать


я имею ввиду: Close, Open, ... и прочее


 
Johnmen ©   (2007-07-10 16:23) [10]

Всё понятно...


 
Пётр   (2007-07-10 16:25) [11]

> Сергей М. ©   (10.07.07 16:21) [8]
информирования местной общественности о конкретно используемой тобой СУБД

По-моему я ничего не утаил:
> ADO
Access
Table ... По полю pole она связано отношением один ко многим с подчинённой.


 
Ega23 ©   (2007-07-10 16:25) [12]


> А можно как-нибудь, тогда адулять записи в главной, не удаляя
> при этом в подчинённой?


Можно. Для этого всего лишь нужно убрать constraint.
Вот только не кажется ли тебе, что ссылочную целостность совсем неглупые люди придумали?


 
Anatoly Podgoretsky ©   (2007-07-10 16:37) [13]


> А можно как-нибудь, тогда адулять записи в главной, не удаляя
> при этом в подчинённой?

Естественно - убери ссылочную целостность и можешь удалять только в главной, но приготовься к серьезным неприятностям, которые к тому очень трудно будет исправить.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.067 c
15-1184130519
db2admin
2007-07-11 09:08
2007.08.05
Как положить программно SMPPSim?


2-1183748112
000001
2007-07-06 22:55
2007.08.05
TPanel + WS_EX_Transparent + PNG = ...


2-1184070026
AZIZE
2007-07-10 16:20
2007.08.05
HELP ME!!!


15-1183689416
Slider007
2007-07-06 06:36
2007.08.05
С днем рождения ! 6 июля 2007 пятница


1-1180067482
Valkyre
2007-05-25 08:31
2007.08.05
Динамическое отображения TSpeedButton





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