powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема. ADO - Прерывание асинхронной закачки данных
1 сообщений из 1, страница 1 из 1
Проблема. ADO - Прерывание асинхронной закачки данных
    #32099104
Onlap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся со следующей проблемой:
Надо прервать открытие асинхронного 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 не прерывалось.

Если раньше сталкивались с такой проблемой, расскажите как удалось с ней справиться.
Заранее спасибо!
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема. ADO - Прерывание асинхронной закачки данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]