![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Остановка выполнения SQL запроса [D7, MySQL]
Fedia © (2004-09-19 07:51:00)Знает ли кто-нибудь, как корректно прервать работу программы во время выполнения SQL запроса, не дожидаясь его завершения?
Для подключения к базе данных использую компоненты Zeos Access. Очень нужен совет.
Nikolay M. (2004-09-20 10:20:00) [1]Выполнить на мускульном сервере
kill номер_запроса.
Или из командной строки ОС (пишу по памяти)
mysql -pPASSWORD -uUSER DATABASENAME -e "kill номер_запроса"
Fedia (2004-09-20 08:27:00) [2]Polevi © (19.09.04 08:40) [1]
Уничтожая поток таким образом получал два вида ошибок:
1. AccessViolation;
2. Lost connection .. (В общем потеря связи во время выполнения запроса).
Добавил в процедуру уничтожения запроса
Potok.Suspend;
sleep(2000);
ZMySqlDatabase1.Disconnect;
GetExitCodeThread(Potok.ThreadID, i);
TerminateThread(Potok.ThreadID, i);
sleep(1000);
//далее освобождение памяти
Теперь вроде работает стабильно, хотя время покажет: на сколько стабильно. Спасибо за совет
Polevi (2004-09-19 08:40:00) [3]запрос в доп. потоке + TerminateThread