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

Запрос в два потока   Найти похожие ветки 

← →
KOMArKad   (2007-09-07 10:58) [0]

Здравствуйте уважаемые мастера.
Подскажите пожалуйста, кто сталкивался с этим попросом, как выполнить одновременно два запроса.
Поясню:
На форме 2 AdoQuery

В первом
DECLARE @nResult INT, @nId INT
EXECUTE @nResult = Up_GenerateWHCell........

Во втором
SELECT COUNT(*) FROM ##tmpWHCell

Первый AdoQuery выполняет процедуру, которая в свою очередь делает ряд операций, в том числе во временной таблице хранит кол-во INSERT"нутых записей

Второй AdoQuery это запрос на кол-во этих записей

Пожалуйста помогите, каким образом можно выполнять эти запросы одновременно, в разных потоках.

Если есть возможность подскажите на уровне примеров.


← →
Сергей М. ©   (2007-09-07 11:20) [1]


> каким образом можно выполнять эти запросы одновременно


Какой смысл выполнять SELECT-запрос одновременно с выполнением модифицирующей процедуры ?


← →
KOMArKad   (2007-09-07 11:48) [2]


> Какой смысл выполнять SELECT-запрос одновременно с выполнением
> модифицирующей процедуры ?


Потому что, процедура не модифицирует, а создает новые записи. В другую таблицу помещаются ID этих записей, а SELECT подсчитывает кол-во уже вставленных записей, этим производиться попытка, создать progressbar при вставки огромного кол-во записей


← →
clickmaker ©   (2007-09-07 11:50) [3]


> В другую таблицу помещаются ID этих записей, а SELECT подсчитывает
> кол-во уже вставленных записей, этим производиться попытка,
> создать progressbar

это называется чесать левое ухо правой ногой.
Почему бы не отображать прогресс параллельно со вставкой?


← →
KOMArKad   (2007-09-07 12:02) [4]

I>
> Почему бы не отображать прогресс параллельно со вставкой?

Подскажите как это сделать?<


← →
clickmaker ©   (2007-09-07 12:15) [5]

кстати, у ADOQuery есть ExecuteOptions = eoAsyncExecute


← →
KOMArKad   (2007-09-07 12:46) [6]


> clickmaker ©  


Спасибо Большое!!!


← →
isasa ©   (2007-09-10 18:03) [7]

clickmaker ©   (07.09.07 12:15) [5]

кстати, у ADOQuery есть ExecuteOptions = eoAsyncExecute


Насколько помнится, возврат в событие OnFetching, работает только для "SELECT ...".
Для хранимой процедуры там глухо, тем более, если в ней BEGIN TRAN ...


← →
evvcom ©   (2007-09-12 14:52) [8]


> В другую таблицу помещаются ID этих записей, а SELECT подсчитывает
> кол-во уже вставленных записей

Параллельно в разных потоках - это значит в разных сессиях, потому select не будет видеть результатов insert до commit. Оно тебе это надо?



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

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



Память: 0.47 MB
Время: 0.011 c
2-1198268866
Elec3C
2007-12-21 23:27
2008.01.20
Обработка клавиш


2-1198410096
Кеша
2007-12-23 14:41
2008.01.20
Запрет на запуск уже открытой программы


9-1165725158
Архипелаг-ГУЛАГ
2006-12-10 07:32
2008.01.20
Как была создана картинка для демки Archipelago из GLScene ?


2-1197984104
Darvin
2007-12-18 16:21
2008.01.20
Диск, на котором лежит запущенная программа


15-1197488574
Kerk
2007-12-12 22:42
2008.01.20
В Чип и Дип можно купить лазер, способный убить муху с 3х метров?




   Наверх