![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Каскадное удаление вручную [D7, FlashFiler]
MORA © (2004-07-26 14:02:00)Нужно удалить запись и заодно все подчинённые записи во всех подчин. таблицах.
Правильно ли я делаю:
обработчик DataSet.BeforeDelete:
if ConfirmDelete then // если дано добро на удаление
begin
ffdb.StartTransaction;
try
//удаляю все подчинённые записи
ffdb.Commit;
except
ffdb.Rollback;
end;
end
else
raise EAbort.Create('');
а в обработчике btnDeleteClick:
try
DataSet.Delete;
except
on E: EDatabaseError do
Application.MessageBox(PChar(E.Message), 'error', MB_ICONERROR);
end;
в принципе EDatabaseError использую для других целей (здесь это ни при чём)
MORA (2004-07-26 16:05:00) [1]
> А что за объект ffdb?
см. [3]
Вовчик (2004-07-26 15:41:00) [2]А что за объект ffdb?
MORA (2004-07-26 14:52:00) [3]
> Всё удаление, и в основной и в дочерней, д.б. в рамках одной
> транзакции
а в моём коде что-то недопустимое?
MORA (2004-07-26 14:25:00) [4]
> я бы спросил что такое FlashFiler? что это еще за новая
> СУБД?
да есть такая.
мне не нравится, но начальство заставиЛО разобраться.
есть контора такая американская TurboPower. Вот она и сделала такую БД типи клиент-серверную.
Но если честно, г... полное
Соловьев (2004-07-26 14:13:00) [5]
> а что такое ffdb?
я бы спросил что такое FlashFiler? что это еще за новая СУБД?
Вовчик (2004-07-26 14:10:00) [6]а что такое ffdb?
Johnmen (2004-07-26 14:09:00) [7]Не очень...
Всё удаление, и в основной и в дочерней, д.б. в рамках одной транзакции.