Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-71053
Doctor
2002-08-02 09:15
2002.08.22
FireBird


14-71322
Fellomena
2002-07-25 14:18
2002.08.22
Жара, ATX и железо!!!


7-71401
andrey_dn
2002-06-11 14:23
2002.08.22
Отлов ошибок в другой программе


3-70966
ppcat
2002-07-30 14:10
2002.08.22
Доступ к документам Excell с помощью ADO или ODBC


1-71156
Nikolai_S
2002-08-09 15:52
2002.08.22
Как считать текстовый файл, хранимый в формате UNICODE?





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