Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема. ADO - Прерывание асинхронной закачки данных / 1 сообщений из 1, страница 1 из 1
30.01.2003, 19:04
    #32099104
Onlap
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема. ADO - Прерывание асинхронной закачки данных
Столкнулся со следующей проблемой:
Надо прервать открытие асинхронного 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема. ADO - Прерывание асинхронной закачки данных / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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