Форум: "Базы";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];
ВнизРеакция 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c