![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прерывание ассинхронного выполнеия TADOStoredProc [D6, MSSQL, ]
serg_s © (2002-01-25 16:55:00)Как прервать запущенную на выполнение встроенную процедуру(MS SQL 2000) .
Запуск выполняется через компонент TADOStoredProc,
ExecutrOptions = [eoAsyncExecute].
Перерыл все свойства TCustomADODataSet и TADOConnection, но что то все по нулям. Помогите чем можите.
Delirium (2002-01-25 19:50:00) [1]Можно и через TADOStoredProc:
ADOStoredProc1.Parameters.Command.Cancel;
Delirium (2002-01-25 17:52:00) [2]То и имел ввиду, что kig сказал
serg_s (2002-01-25 17:41:00) [3]Вопрос Delirium - му. Что ты (извени за "ты", так проще) имел ввиду под " TADOCommand.Cancel ". Заменить, чтоли TADOStoredProc на TADOCommand.
kig (2002-01-25 17:35:00) [4]Вот кусок кода из MSDN
pConnection->Execute(strCmdChange,NULL,adAsyncExecute);
// do something else for a little while - this could be changed
for (int i = 1; i<=100000 ;i++)
{
// i = i + i;
printf("%d\n", i);
}
// If the command has NOT completed, cancel the execute
// and roll back the transaction. Otherwise, commit the
// transaction.
if ((pConnection->GetState()))
{
pConnection->Cancel();
В Вашем случае скорее всего pConnection замениться на Command. Вам надо только добраться до Command в TADOStoredProc (поле с типом _Command) для получения его State и если он не равен adStateClosed (0x0) - вызвать Cancel.
Delirium (2002-01-25 17:16:00) [5]TADOCommand.Cancel