Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
ВнизОбновление базы и ADO Найти похожие ветки
← →
Bogus (2002-07-31 16:28) [0]Народ, зашиваюсь! Неужели никто не встречался!
Вопрос ушел на 3 страницу, посему, повторяю. Простите за назойливость.
[skip]
Bogus
SQLCommand : tADOCommand;
Query : tADOQuery;
SQLCommand.CommandText := "delete from <вторая> where
<ключ_первой> = " + <то,что нужно> ;
SQLCommand.Execute;
Query.Delete;
[skip]
>Jee
>На сколько я понял, ты хочешь удалить из "мастер" таблицы
>запись и в таблице "деталь" содержится запись со значением
>вшешнего ключа равному значению первичного ключа первой
>таблицы. Ясное дело, связь не позволит этого сделать. Сначала
>надо удалить из второй таблицы все записи, связанные с первой,
>а потом удалить из первой. Тогда в событии первой таблице
>BeforeDelete пишешь
> SQLCommand.CommandText := "delete from <вторая> where
> <внешний_ключ> = " + <Первая>.<первичный ключ>.<значение> ;
> SQLCommand.Execute;
>>Bogus
>>Верно, именно этого я и хочу. До твоей мысли я дошел, проблема
>>именно в том, что между SQLCommand.Execute и реальным
>>обновлением базы проходит несколько секунд. Т.е. получается,
>>что когда я выполняю delete, таблица "деталь" как-будто еще
>>содержит связанные записи.
Народ, мне это реально нужно. Иначе бы не приставал. Хотя бы где искать.
← →
ACR (2002-07-31 16:35) [1]ясна падаждать нада пака не выпалнится первый запрос... а как падаждать?... а? транзакции наверна...?
← →
nick_sniper (2002-07-31 20:10) [2]Есть метод дубовый, но надежный:
//< Твой код: обновление, удаление и т.д.>
ADOConnection.Active := false;
ADOConnection.Active := true;
//< открываешь заново нужные таблицы/запросы>
В результате железно видны все внесенные изменения, но на закрытие/открытие БД затрачивается не менее 0,1 сек.
Искал другие способы, типа: Requery, FlushBuffers, Refresh и т.д., но так и не нашел нормально работающего. Причем то, что указано у мелкософта по этому поводу - IMHO не работает.
Можно ещё попробовать отлавливать сообщения об обновлении БД.
Вообщем если найдешь какое-то красивое решение - мыльни, буду очень благодарен.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c