![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подвисание ;программы на время выборки большого объёма данных. [D5, MSSQL]
Eduard © (2002-12-02 15:09:00)Подвисание программы на время выборки большого объёма данных.
Можно ли как нибудь избежать этого? использовал Thread что то не получилось.. если кто может помогите ... Заранее благодарен .
Eduard (2002-12-03 15:10:00) [1]Diouzshev
ExecuteOptions = [eoAsyncFetch]
процесс пошёл что то как то странно всего два раза заходит в процедуру ADOQueryFetchProgress и то в начале и в конце выбоки .
мож так и надо :))
Diouzshev (2002-12-03 14:57:00) [2]ADOQueryFetchProgress
Occurs periodically during an asynchronous data retrieval operation.
Похоже надо с ExecuteOptions поиграть, если что получится - пиши, самому интересно %)
Eduard (2002-12-03 14:51:00) [3]Prooksius ©
ADOQueryFetchProgress а это событие надо как то активировать ?
что то создал процедуру а через неё процесс пожоже не проходит.
покрайней мере на точке останова не тормозит..
Diouzshev (2002-12-03 14:47:00) [4]См статью, там все подробно описано:
http://www.delphicorner.f9.co.uk/articles/db1.htm
Prooksius (2002-12-03 14:42:00) [5]Во-во... Похоже, то, что надо.
Eduard (2002-12-03 14:39:00) [6]Использую ADOQuery там есть событие ADOQueryFetchProgress попробую с ним что-либо заморатить..
Prooksius (2002-12-02 15:52:00) [7]2 Ihor Osov"yak © (02.12.02 15:48)
Да, знаю, но читай это:
> Eduard (02.12.02 15:09)
> Подвисание программы на время выборки большого объёма данных.
Ihor Osov'yak (2002-12-02 15:48:00) [8]Prooksius © (02.12.02 15:34)
Это не выход.Ибо может быть запрос, очень долгий, который ничего не фетчит...
выход - только потоки. Eduard наверно чего-то не то делал. Или синхронайз неумело юзал (если юзал). Кстати, в демках к делфи кажись есть пример віполнения запросов в потоках ....
Prooksius (2002-12-02 15:34:00) [9]Зависит от компонент доступа к MSSQLServer , которыми ты пользуешься. (А может, и нет :)
Должно быть примерно такое событие: OnFetchRecord - возникает при фетчинге каждой записи клиентом. На это сообщение вешаешь прогрессбар и идешь курить.
Проблема в том, есть ли в компонентах это событие. Может, придется самому копаться в исходниках и делать. :)