![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 109
|
![]()
Всем добрый вечер!
Меня интерисует такое вопрос, есть ли в Delphi встроенные функции, которые отслеживают следущее, есди допустим существует 2 связанные таблицы (причем связь обязательная) то при удалении записи из одной из них автоматически удаляеться запись из другой. К примеру как это сделано в Ms Access , если в нем выбрать пункты каскадное удаление и каскадное обновление записей пи создании связей. Надеюсь достаточно ясно изложил суть вопроса. С уважением Rockedit!
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо
![]() |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
а это не автоматически делается? Просто про Access точно не знаю. В firebird, postgres точно автоматом делает. Ну у вас с таблицами допустим связаны ADOQUery, тогда просто при нажатии кнопки удалить котороая находится на форме где данные родительской таблицы написать нечто такое
Код:
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 109
|
![]()
я работаю через ADOTable, но это практически дела не меняет. вообшем если у строки из главное таблицы имееться хоть одна связь с подчиненой то во время попытки удаления будет возникать ошибка, я решил этот вопрос простым SQL запросом, просто думал, может получится сократить код и просто Delphi указать, что вот из этой таблицы удали запись и проверь, сам мол есть ли у нее связи с другими. просто если таблиц допустмм связаных 10 то это конечно муторно самому отслеживать все связи
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
А что в Access нет on delete cascade?????
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 109
|
![]() Цитата:
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо
![]() |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.04.2009
Сообщений: 28
|
![]()
Я бы сделал так:
Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
Access это сервер (СУБД) и клиент в одном флаконе.
Delphi обычно используется для написания клиентских частей к различным СУБД (FireBird, MS SQL, Access, ...). Каскадное удаление обычно организуется на стороне сервера во время задания связей и правила задания зависят от выбранной СУБД.
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление данных из файла | Walter | Помощь студентам | 3 | 11.06.2009 10:02 |
Каскадное удаление записей | Liones | БД в Delphi | 7 | 14.05.2009 08:04 |
Каскадное удаление и модификация таблиц | Абдуллаев Рустам | БД в Delphi | 6 | 01.05.2009 20:47 |
каскадное удаление | Skolot | Microsoft Office Access | 0 | 20.04.2009 11:12 |
Каскадное удаление | BustA | SQL, базы данных | 1 | 16.01.2008 10:31 |