Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

Обновление базы и 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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.007 c
1-71176
CBA
2002-08-09 12:29
2002.08.22
Выполнение запросов в потоке


1-71114
KPY
2002-08-13 06:59
2002.08.22
Как Image присвоить BitMap ?


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


3-71067
polist
2002-08-02 15:55
2002.08.22
+Microsoft Access


3-71038
billybons
2002-07-31 09:44
2002.08.22
добавление записи в Grid





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