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

Вниз

обновление записей   Найти похожие ветки 

 
Bishop   (2002-10-08 10:28) [0]

Можно ли с помощью FIB сделать автообновляемый грид, так, чтобы не было кнопки "обновить"? Необходимо, чтобы, по крайней мере, добавленные записи показывались при скроллинге в гриде (при скроллинге вверх, так как запрос сортирован по desc добавлению).


 
Prooksius ©   (2002-10-08 10:39) [1]

Не совсем понятно, что ты хочешь.
К примеру ты вставил запись в гриде, ты хочешь, чтобы она сразу вставала на свое место согласно сортировке, а не в конце/где попало?
Попробуй делать Sort/FastSort твоего датасета сразу после вставки примерно так:

Запомнить положение курсора,
Dataset.DisableControls,
Sort/FastSort,
Вспомнить позицию,
Dataset.EnableControls.


 
Sergey13 ©   (2002-10-08 10:46) [2]

Еще один вопрос про ЭТО. Что то часто стали попадаться такие. Недавно 2 было. Светую переиначить твой вопрос с темы "Можно ли" на тему "Нужно ли" и ответить самому.
Запрос (по теории) возвращает СОГЛАСОВАННЫЙ НАДОР ДАННЫХ НА ТЕКУЩИЙ МОМЕНТ ВРЕМЕНИ. А ты хочешь НА ВСЕ ВРЕМЕНА?


 
Max Zyuzin ©   (2002-10-08 10:54) [3]

Не совсем понятен вопрос... Если у вас для навигации по НД и для джобавления используются разные компоненты, то можно по событию AfterInsrt в таблице которая добавляет переоткрывать датасет (навигации) еще раз...
Опишите пожалуйста что необходимо...


 
Bishop   (2002-10-08 11:02) [4]

Записи добавляются не в гриде (они добавляются автоматически с разных клиентских мест и довольно часто). Мне необходим лишь browse. Кстати, Sergey 13 правильно уточнил - можно ли сделать запрос "на все времена", т.е. чтобы в пределах текущей транзакции были видны записи, добавленные после ее начала. Меня просили сделать автообновление без кнопки "обновить". Кажется,что это возможно лишь с помощью переоткрытия датасета (и восстановлением текущего курсора) при приходе события добавления новой записи (или изменения). Но датасет просят не переоткрывать.


 
Леха_   (2002-10-08 11:08) [5]

с помощь DBGrid не переоткрывая никак
а если читать в обычный StringGrid то можно с некоторым интервалом добавлять свежие записи как это сделать конкретно зависит от задачи я например просто запоминал максимальное ключевое поле(но там оно создавалось из генератора)


 
Max Zyuzin ©   (2002-10-08 11:13) [6]

Не переоткрывая датасет никак (АФАИК)
Дело в том, что ты будешь видеть только записи в твоей транзакции, а у пользователей они свои...


 
Prooksius ©   (2002-10-08 11:14) [7]

2 Bishop (08.10.02 11:02)

> Но датасет просят не переоткрывать.

Ну это пока невозможно!
Если даже были бы параметры в событиях, если набор данных большой, а updates юзеров частые, это все равно бы тормозило.
Вышел FB 1.5 alpha, обещали сделать параметры событий в бетте.

Можно, конечно, будет попробовать, тем более, что FIB позволяют вставлять/изменять/удалять строчку в датасете без реального изменения в базе. (FilterIn/FilterOut) Но нужен крутой комп и не очень большие наборы данных. Тогда это будет нормально работать.


 
Prooksius ©   (2002-10-08 11:16) [8]

2 Max Zyuzin © (08.10.02 11:13)
Почитай на www.ibase.ru про транзакции.
Проблема заключается только в refresh. А транзакция - мелочи. Какой уровень изоляции поставишь, так и работать будешь.


 
Desdechado ©   (2002-10-08 11:23) [9]

нельзя увидеть что-то, не посмотрев на него
поэтому для того, чтобы увидеть изменения на сервере, надо переоткрыть запрос


 
Prooksius ©   (2002-10-08 11:39) [10]

Все таки у меня такие подозрения, что нормальной, нетормозной реализации того, о чем я тут (и не тут) писал, наверное, не получится, хотя, время покажет.
Если большой датасет - так и так плохо. Тормоза будут по любому.


 
AM   (2002-10-08 11:49) [11]

На самом деле это один из довольно распространенных задач в последнее время. Хочется иметь актуальные наборы данных, и чтобы эти наборы данных были всегда актуальны в любую секунду. Стоит ли это делать или нет решать вам. Но перед тем как это делать надо взвесить все за и против.

Для интересующихся можно пойти по ссылке:
http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=13073

хотя там БД MSSQL сервер но я думаю, что принципы одинаковы.

Удачи всем!



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
4-92776
AddMean
2002-09-11 01:45
2002.10.28
Help: Как с помощью API Узнать номера занимаемых файлом кластеров


1-92522
tytus
2002-10-17 23:46
2002.10.28
OLEAUT32.dll


3-92355
kolesya
2002-10-03 20:35
2002.10.28
StoredProc


3-92339
vis79
2002-10-04 09:57
2002.10.28
все тот же QReport


1-92458
Daniil
2002-10-12 13:57
2002.10.28
Как получить доступ к WMI классам?