Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема. ADO - Прерывание асинхронной закачки данных
|
|||
|---|---|---|---|
|
#18+
Столкнулся со следующей проблемой: Надо прервать открытие асинхронного Recordset'a (adAsyncExecute). Использую метод Recordset'a Cancel. В процессе его выполнения управление передается на обработчики различных событий (мышиных, клавиатурных), произошедших во время закачки рекордсета. Затем управление возвращается в процедуру, вызвавшую метод Cancel. Такая реакция наблюдается только для adAsyncExecute рекордсета, но именно такой Recordset мне и нужен - adAsyncFetch и adAsyncfetchNonBlocking не подходят. ситуация воспроизводилась примерно на таком коде: ... Set con = New ADODB.Connection Set rst = New ADODB.Recordset con.CursorLocation = adUseClient con.ConnectionString = " .... " con.Open Set rst.ActiveConnection = con rst.Open "select top 40000 * from MyTable", , , , adAsyncExecute Sleep 2000 rst.Cancel 'при выполнении этого метода происходит передача управления на обработчики событий 'выполнение процедуры продолжается ... Примечание: в том случае, если выбиралось < 30000 записей, выполнение Cancel не прерывалось. Если раньше сталкивались с такой проблемой, расскажите как удалось с ней справиться. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2003, 19:04 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32099104&tid=2171453]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 382ms |

| 0 / 0 |
