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

Вниз

Реакция TQuery на изменение TTable одной и той же БД   Найти похожие ветки 

 
Влад2   (2002-12-15 23:11) [0]

Прошу совета уважаемых знатоков.
Открыты две таблицы одной и той же базы. Первая (типа TQuery) отсортирована по каким-то полям ("order by ..."). При помощи второй (типа TTable) удаляются или добавляются записи.

Вопрос: можно ли без закрытия и открытия таблицы БЫСТРО отразить в TQuery изменения TTable?

Примечание: свойство RequestLive, конечно, TRUE. Но табл. выстроена НЕ по ПЕРВИЧНОМУ ключу (без "order by ..." изменения отражаются мгновенно и вопроса нет)
Спасибо.


 
Jeer ©   (2002-12-16 00:05) [1]

Нет. Только reopen.


 
ЮЮ ©   (2002-12-16 05:05) [2]

Добавлять непосредственно в Query (см.ТUpdateSQL) и постараться позавыть о ТТаble, особенно, если имеется тенденция роста количества данных в таблице


 
Влад2   (2002-12-16 10:20) [3]

Уважаемый ЮЮ,
разве можно модифицировать таблицу, выстроенную НЕ по ПЕРВИЧНОМУ ключу?


 
Johnmen ©   (2002-12-16 10:35) [4]

>Влад2 (16.12.02 10:20)

Постановка вопроса абсолютно некорректна !
Если имеется в виду редактирование НД, полученного запросом из таблицы(таблиц) и их самих, то можно ! Как уже бало сказано, см.ТUpdateSQL...


 
Влад2   (2002-12-16 11:42) [5]

Уважаемый Johnmen,
прошу прощения за "абсолютно некорректную" постановку вопроса.
Суть моей проблемы в следующем.
При помощи TQuery получил отфильтрованный и упорядоченный набор данных. При помощи другой таблицы (например, TTable) происходит модификация БД (включая удаления и добавления записей), которая часто затрагивает набор TQuery, записи из которого должны быстро поставляться куда-то. Вопрос мой был в том, как изменения в базе быстро отразить в наборе TQuery. Визуальные компоненты не используются.
Возможно, я выражаюсь ненаучно и не абсолютно грамотно, но, полагаю, суть проблемы понятна.

Например: как быстро отразить изменение TQuery после удаления записи в TTable?
или (как альтернатива)
как удалить из TQuery (с "order by ...") запись, найденную TTable?

Наверное, в этой ситуации ТUpdateSQL не совсем подходит?


 
Max Zyuzin ©   (2002-12-16 11:52) [6]

>Влад2 (16.12.02 11:42)
Раз нет у вас визуального отображения данных тогда для чего обнавлять Query??

А вообще в вашей ситуации UpdateSQL замечательно справится и с удалением и с редактированием даже в отсортированном НД.

А отразить изменение в компонетне TQuery можно переоткрыв его... что вас пугает в такой алтернативе?


 
Влад2   (2002-12-16 12:08) [7]

Уважаемый Max Zyuzin,

>> для чего обнавлять Query??

Для использования данных другой программой, например, через DLL.

>> вашей ситуации UpdateSQL замечательно справится

Был бы очень благодарен за маленький примерчик (например, с удалением). К сожалению, никогда не работал с UpdateSQL :(

>> А отразить изменение в компонетне TQuery можно переоткрыв его... что вас пугает в такой алтернативе?

Низкая скорость. Изменения происходят очень часто, а эта работа не должна тормозить остальной процесс. Это часть программного комплекса.


 
Jeer ©   (2002-12-16 12:42) [8]

Влад2 (16.12.02 12:08)
Извините, а у Вас что - система наблюдения за действиями пользователей в реальном времени ?
Так даже клиент-сервер для этого не предназначен.


 
Max Zyuzin ©   (2002-12-16 12:51) [9]

>Влад2 (16.12.02 12:08)
Для использования данных другой программой, например, через DLL.
А другая программа сама не может обратится к таблице без посредников??

Был бы очень благодарен за маленький примерчик (например, с удалением). К сожалению, никогда не работал с UpdateSQL :(
Сейчас найду примерчик и вышлю по почте.. ок?

Низкая скорость. Изменения происходят очень часто, а эта работа не должна тормозить остальной процесс. Это часть программного комплекса
Если у вас такая навороченная прогамма, вы уверены что вам нужен именно Paradox?? Для подобных задач ИМХО надо и СУБД выбрать посерезнее...


 
Влад2   (2002-12-16 13:21) [10]

Jeer (16.12.02 12:42)
>> а у Вас что - система наблюдения за действиями пользователей в реальном времени ?
Мне такое в голову не приходило. Это чисто техническая задача, где БД играют очень важную, но вспомогательную роль.

Max Zyuzin (16.12.02 12:51)
>> А другая программа сама не может обратится к таблице без посредников??
Я считал, что TQuery и TTable и есть такие посредники, и с ними удобнее.

>> Сейчас найду примерчик и вышлю по почте.. ок?
Буду признателен.

Если у вас такая навороченная прогамма, вы уверены что вам нужен именно Paradox??
Не уверен. Но выбор был сделан давно, и у нас нет возможности использовать другие СУБД.

Вообще хотелось бы получить ответ по существу приведённого ранее примера:
Как быстро отразить изменение TQuery после удаления записи в TTable?
или (как альтернатива)
как удалить из TQuery (с "order by ...") запись, найденную TTable?
Спасибо.


 
Max Zyuzin ©   (2002-12-16 13:28) [11]

>Влад2 (16.12.02 13:21)
Я считал, что TQuery и TTable и есть такие посредники, и с ними удобнее.
Похоже, что мы говорим о разных вещах... я имею ввиду, что другая программа может сама обратится к базе данных (к файлу на диске), без программы - посредника, которая передает ей информацию... А вы говорите, что в рамках одной программы.

Буду признателен.
Проверяйте почту.

Как быстро отразить изменение TQuery после удаления записи в TTable?
АФАИК только переоткрыв Query по другому я думаю никак.

как удалить из TQuery (с "order by ...") запись, найденную TTable?
Смотрите то, что я вам послал... там есть и удаление и вставка и редактирование... удалить можете зная ключ.



Страницы: 1 вся ветка

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
3-24820
soware
2002-12-17 09:15
2003.01.09
Индексы Dbf (FoxPro)


6-24989
Foxsi
2002-11-10 12:03
2003.01.09
Help


14-25015
Свой
2002-12-18 11:00
2003.01.09
Сами мы не местные помогите кто чем может


4-25129
pavelB
2002-11-20 15:44
2003.01.09
как узнать координаты текущей папки мои документы для данного пол


14-25036
vajo
2002-12-20 08:57
2003.01.09
Регистрация действий на компьютере