Главная страница
    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
8-71272
Topten
2002-04-16 00:45
2002.08.22
Поскажите как использовать файл ВМР так чтобы обходиться без бито


1-71113
poligalov1
2002-08-12 08:17
2002.08.22
вопрос


1-71088
kronprince
2002-08-12 12:28
2002.08.22
TClientDataSet ->CommandText changes are not allowed


3-71030
kosm
2002-08-01 12:43
2002.08.22
Как недопустить возвращения пустых результатов запроса?


14-71355
Igit
2002-07-27 08:36
2002.08.22
Отключение из инета при звонке





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