Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Асинхронность в ADO [D7, MS ACCESS]


Zelius ©   (2003-07-14 20:04:00) 

Хочу сделать поиск по таблице, причем так, что бы пользователь видел находимые записи по мере их нахождения и мог прервать процесс в любой момент. Для этого поставил ExecuteOptions := [ eoAsyncExecute, eoAsyncFetch], потом определил OnFetchProgress и OnFeatchComplete. Вопрос, могу ли я в OnFeatchProgress начать читать записи? Проверял, в этот момент Active = False;
Спасибо!


Zelius   (2003-07-16 11:57:00) [1]


> sniknik © (15.07.03 15:36)

логично! :)
Спасибо!


sniknik   (2003-07-15 15:36:00) [2]

естественно, они стали не нужны, данные открываются на "сервере" а на клиента поступают по мере запроса. (Next, Last, ... передвигает позицию обновляет данные)


Zelius   (2003-07-15 14:58:00) [3]


> sniknik © (15.07.03 12:14)

при уставовке CursorLocation = UseServer у меня перестали вызываться события OnFetchProgress и OnFetchComplete...


sniknik   (2003-07-15 12:14:00) [4]

какая "схема"? распайка платы в холодильнике полетела? сочуствую. :)

все должно работать. кроме гридов(рекордсет не поддерживает вукмарки)... ну они тубе вроде не нужны.
а если нужен грид добавляеш клиентский датасет с источником.


Zelius   (2003-07-15 11:59:00) [5]


> sniknik © (15.07.03 10:18)

оставил серверный курсор - схема перестала работать! :)


sniknik   (2003-07-15 10:18:00) [6]

если добавляеш сам (TListView) то поставь просто серверный курсор. данные будут "докачиватся" по мере обращения.

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


Zelius   (2003-07-15 09:51:00) [7]


> sniknik © (14.07.03 22:49)

может быть несколько тысяч! с учетом добавления результатов в список и отображение в TListView процесс идет достаточно долго и прерывать - нужная функция! Вот только я не уверен в правильности подхода к работе с асинхронными запросами....


sniknik   (2003-07-14 22:49:00) [8]

сколько записей предполагается найти? если пару сотен то получение пролетит, не заметиш. а выполнение все одно останется "за кадром".

смысл имеет (успееш среагировать и прервать) от нескольких тысяч записей. (170тыс принимается ~25-30сек, естественно зависит от машины/таблици/т.д.)


Наверх

Титульная страница Поиск, карта сайта Написать письмо