Вниз
Скачать: CL | DM;

Прерывание выполнения запроса   Найти похожие ветки 

← →
NewDelpher ©   (2004-09-22 15:00) [0]

С клиентской машины я делаю SQL-запрос, пока данные не получены создается впечатление, будто программа зависла. Как мне прервать выполнение запроса?
Ведь Query Analyzer это как-то делает.


← →
NewDelpher ©   (2004-09-22 15:29) [1]

Еще добавлю, что использую компоненты ADO и данные получаю в TADODataSet


← →
Димитрий ©   (2004-09-22 15:58) [2]

Без использования многопоточного доступа к БД это не получится


← →
Суслик ©   (2004-09-22 15:59) [3]


> Без использования многопоточного доступа к БД это не получится

а если его использовать?


← →
Димитрий ©   (2004-09-22 16:12) [4]


> Суслик ©   (22.09.04 15:59) [3]
>
> > Без использования многопоточного доступа к БД это не получится
>
> а если его использовать?

тогда можно. только нужно создать наследника от TThread, инкапсулирующего в себе компонеты доступа к БД и с этими компонетами уже работать


← →
Карелин Артем ©   (2004-09-22 16:12) [5]

Делать запрос к базе внутри TTread.Execute.
Результат выводить в основной поток с помощью synchronize


← →
Суслик ©   (2004-09-22 16:30) [6]

Контрольный вопрос.
Допустим, что в одном потоке используя adodb.command выполняется запрос к БД.
Каким способом можно прервать этот запрос из другого потока?

ЗЫ. По условиям задачи другой поток знает о первом потоке, о adodb.command и о adodb.command.


← →
Димитрий ©   (2004-09-22 16:38) [7]

Суслик ©

Убить поток


← →
Суслик ©   (2004-09-22 17:25) [8]


>  [7] Димитрий ©   (22.09.04 16:38)

ну это один, и наверное не самый лучший способ.

query analizer останавливает запрос долго. Вряд ли он так долго убивает поток.

Очевидно, что должен быть цивилизованный способ.


← →
sniknik ©   (2004-09-22 17:29) [9]

http://delphimaster.net/view/3-1095044872/


← →
KSergey ©   (2004-09-23 12:34) [10]

> [1] NewDelpher ©   (22.09.04 15:29)

См. ExecuteOptions  *Async*
А так же учитывай, что в QA используется серверный курсор - это тоже многое значит. (в части "скорости" открытия)

На королевстве см. статьи про ADO



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
8-1090726952
Canvas
2004-07-25 07:42
2004.10.17
Создать вот так канвас


1-1096577502
deos
2004-10-01 00:51
2004.10.17
Иконки


4-1095252963
UUU
2004-09-15 16:56
2004.10.17
сервис


14-1096290021
1008
2004-09-27 17:00
2004.10.17
Как из процедуры в DataModul-е завершить работу приложения?


14-1096045730
VictorT
2004-09-24 21:08
2004.10.17
Вот такой вот спам пришёл...




   Наверх