Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-92511
"Ujin
2002-10-18 14:56
2002.10.28
Сотню раз видел, а как надо... :( Как услать письмо с аттачментом


14-92734
Blondin
2002-10-08 18:31
2002.10.28
В Delphi 7 остался ли QuickReport ?


1-92607
mafiya
2002-10-17 10:43
2002.10.28
Информация о CD-ROM диске


1-92418
pirat
2002-10-16 22:30
2002.10.28
Как же все таки поменить оконную функцию TEdit ??? :(( HELP!


3-92363
Beginer1
2002-10-02 19:52
2002.10.28
надо проверить её на наличее двух одинаковых символов





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