Объект команды ADO Ошибка, когда adAsyncExecute

Я использую объект Command ADO для выполнения простых команд.

Например,

_CommandPtr CommPtr;
CommPtr.CreateInstance(__uuidof(Command));
CommPtr->ActiveConnection = MY_CONNECTION;
CommPtr->CommandType = adCmdText;
CommPtr->CommandText = L"insert into MY_TABLE values MY_VALUE";

for (int i=0; i<10000; i++) {
CommPtr->Execute(NULL, NULL, adExecuteNoRecords);
}

Это прекрасно работает, но я хотел сделать это асинхронное выполнение для повышения производительности при работе с большим объемом данных … Поэтому я просто изменил параметр Execute на adAsyncExecute ..

(Ссылка на документацию)

_CommandPtr CommPtr;
CommPtr.CreateInstance(__uuidof(Command));
CommPtr->ActiveConnection = MY_CONNECTION;
CommPtr->CommandType = adCmdText;
CommPtr->CommandText = L"insert into MY_TABLE values MY_VALUE";

for (int i=0; i<10000; i++) {
CommPtr->Execute(NULL, NULL, adAsyncExecute);
}

Это дает мне ошибку памяти по какой-то причине ..

First-change exception
Microsoft C++ exception:
_com_error at memory location 0x0028FA24

Любые эксперты по ADO знают, почему это происходит ..?

Спасибо

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]