Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Вниз

Неблокирующий запрос   Найти похожие ветки 

 
Miau   (2003-10-08 19:14) [0]

Мастера, откройте ламеру правду, можно ли как-нибудь сделать запрос к базе данных через БДЕ неблокирующий ? А то выполняется дюже долго и глупый юзер думает, что всё повисло :(


 
Arm79   (2003-10-08 19:33) [1]

Извиняюсь, зачем БДЕ? Он поддерживает MS SQL на уровне 6.5 кажется. Наверное, все таки нет. Лучше всего АДО. Покатит и dbExpress.


 
Fay   (2003-10-08 21:31) [2]

Можно


 
ЮЮ   (2003-10-09 02:42) [3]

> и глупый юзер думает...
Если он успевает об этом подумать, то пора подумать об оптимизации запроса.
К тому же, если запрос ещё не выполнился, а юзер уже может кликать по другим кнопочкам, то ты его ещё в больший ступор введёшь :-)


 
Miau   (2003-10-09 10:17) [4]

Arm79 ©
я и сам понимаю, что АДО предпочтительнее, но данная прога работает именно с БДЕ :( (хотя может и воткну адо, пока начальство не видит :) )

Fay
а как, если не секрет ?

ЮЮ
да этот запрос ещё при царе-батюшке написан моим далёким предшественником, так что ни о какой оптимизации я даже не думаю :)


 
Izyum   (2003-10-09 10:26) [5]

Вынести выполнение запроса в отдельный поток


 
Miau   (2003-10-09 10:28) [6]

Izyum ©

а с БДЕ такое возможно? я где-то читал, что нет.


 
Delirium   (2003-10-09 10:32) [7]

select ... from ... with (nolock) - не блокирует ничего


 
Miau   (2003-10-09 10:44) [8]

Delirium ©

говорит,что incorrect syntax


 
Delirium   (2003-10-09 10:53) [9]

У тебя какой MSSQL? И вотрой вопрос, а то может я не о том думаю, мы говорим о серверных блокировках или о подвисании программы во время исполнения запроса?


 
Anatoly Podgoretsky   (2003-10-09 10:53) [10]

Delirium © (09.10.03 10:32) [7]
Вы явно думаете о разных блокировках.


 
Miau   (2003-10-09 10:55) [11]

7.0
меня интересует, чтобы экзешник не дожидался пока сервер пришлёт результат запроса. вот.


 
Delirium   (2003-10-09 10:58) [12]

Ааа, ну тогда поток создай, как уже Izyum © [5] сказал :)


 
Miau   (2003-10-09 12:38) [13]

как я и предполагал, БДЕ отказывается работать внутри потока :(
(или я что-то не то делаю)


 
Romkin   (2003-10-09 12:55) [14]

Не отказывается. Внутри потока нужна сессия (TSession + TDatabase), с AutoSessionName = True. Лучше просто модуль данных свой создавать в execute.
Плюс - CoInitialize/CoUnitialize скорее всего в потоке тоже надо


 
Delirium   (2003-10-09 12:55) [15]

"или я что-то не то делаю" - это точно, смотри демку \Demos\Db\BkQuery


 
Miau   (2003-10-09 13:22) [16]

Всем спасибо!
Ввиду ограниченности во времени и разуме, воспользовался отсутствием начальства и употребил АДО, всё заработало!

I hate BDE :)



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

Форум: "Базы";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-98735
}|{yk
2003-10-20 12:13
2003.10.30
Карта проблем для DSS


14-98805
ИМХО
2003-10-12 17:41
2003.10.30
ADODataSet


3-98490
hursand
2003-10-08 17:23
2003.10.30
Как обнавить DBgrid


1-98618
Стекляшкин
2003-10-17 10:12
2003.10.30
Интерфейсы и result


3-98447
IBNovice
2003-10-10 09:50
2003.10.30
Autoinc





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский