Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Как заставить recordset в ADO открывать запрос с таймаутом ?   Найти похожие ветки 

 
Rule ©   (2006-03-29 12:20) [0]

Ситуация такая, есть адошный рекордсет, у него есть метод OPEN типа такого
      FrecordSet.Open(FTableName, FConnection, RSCursor, RSLock, RSComandType);
Вопрос, если АДОдрайвер долго не отвечает (он же является драйвером железяки которая в виде таблиц возвращает данные), то эта фигня зависает намертво. Как сделать так, чтобы рекордсет пробовал открыться некоторое время, а потом продолжалось выполнение программы дальше ?
Спасибо всем за внимание ...


 
Rule ©   (2006-03-29 12:48) [1]

хорошо ещё пославлю вопрос под другим углом, у меня есьт переменная RecordSet:_Recordset;  как мне из другого потока во время выполнения команды FrecordSet.Open  прибить єто исполнение ?


 
Дырчик ©   (2006-03-31 05:58) [2]

TCustomADODataSet(TADODataSet).CommandTimeout := ...


 
sniknik ©   (2006-03-31 08:21) [3]

Дырчик ©   (31.03.06 05:58) [2]
зачем сложности с приведением? свойство достутно и в самом TADODataSet

> прибить єто исполнение ?
можеш попробовать сделать Close конекту.

лучше поставить таймаут (up), сам будет "прибиваться".

но вообще, если время критично, переходи на асинхронное выполнение и событийность... т.е. послал запрос прога сразу продолжила выполнятся. данные потребовались (прошло время) читаеш статус, если еще не выполнилось делаеш ему Cansel, ну и продолжаеш дальше, что там у тебя намечено.
и никаких задержек вообще.


 
Rule ©   (2006-04-03 13:17) [4]

sniknik ©   (31.03.06 8:21) [3]
зачем сложности с приведением? свойство достутно и в самом TADODataSet
а я работаю с рекордсетами а не датасетами ... и вобщем надо чтоб провайдер это поддерживал, а у мня не поддерживается ... это я знаю потомучто там по дефалту вроде стоит 30 секунд, а у меня может висеть до бесконечности


 
Rule ©   (2006-04-03 13:18) [5]

sniknik ©   (31.03.06 8:21) [3]
но вообще, если время критично, переходи на асинхронное выполнение и событийность... т.е. послал запрос прога сразу продолжила выполнятся. данные потребовались (прошло время) читаеш статус, если еще не выполнилось делаеш ему Cansel

Санцел виснет до конца выполнения опена, а если опен завис то и кенцел висит, правда при синхронном выполнении если задать команду из другого потока


 
Rule ©   (2006-04-03 13:19) [6]

sniknik ©   (31.03.06 8:21) [3]
а ассинхронное выполнение должно поддерживаться провайдером, или это заложено в самом механизме АДО ???



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

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1147320289
item
2006-05-11 08:04
2006.05.28
Delphi & MS Access & RaveDesigner


2-1147242403
Id
2006-05-10 10:26
2006.05.28
Регистарция входа в базу данных на FB


2-1147549788
jenya_rus
2006-05-13 23:49
2006.05.28
Цикл. В чем разница?


15-1146548663
Ega23
2006-05-02 09:44
2006.05.28
С Днём рождения! 2 мая


15-1146556510
Untermensch
2006-05-02 11:55
2006.05.28
Подскажите, какую нить библиотечку попроще, для MsSQL2005