Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
Запускается запрос (неважно к какой базе, к примеру Oracle), и оказывается, что время его выполнения очень большое. Можно ли сделать так, чтобы конечный юзверь мог прервать выполнение запроса без аварийного завершения программы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:38 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
Да, если выполнять запрос ассинхронно или в отдельном треде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:43 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
>> Можно ли сделать так, чтобы конечный юзверь мог прервать выполнение запроса без аварийного завершения программы? Как уже ответили: в отдельном потоке. Только все равно придется дождаться окончания запроса, иначе после закрытия программы вывалится ексепшн. Есть готовый компонент для DOA: CanceledQuery называется, кажется. Он в сырцах, можешь поискать его и посмотреть как это реализовано. eNose ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 08:01 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
Да, про thread я как-то не подумал... А вот про асинхронное выполнение нигде даже не слышал. Если можно, объясните в двух словах или ссылочку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 08:01 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
>> Есть готовый компонент для DOA: CanceledQuery называется, кажется Ничего похожего в исходниках не нашел. Уменя DOA v3.43 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 08:28 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
авторЕсли можно, объясните в двух словах или ссылочку? В справке по MDAC есть про ассинхронный режим работы. Да и в хелпе в Delphi есть немного в разделе про адошные компоненты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 10:01 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
>> Есть готовый компонент для DOA: CanceledQuery называется, кажется Ничего похожего в исходниках не нашел. Уменя DOA v3.43 смотри тут: http://www.farpost.com/personal/dmitryb/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 10:06 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
Судя по поставленной задаче можно не заморачиваться отдельными потоками, а просто перед исполнением запроса поставить Application.ProcessMessage. В этом случае Делфи сама выделит поток на исполнение запроса, а юзверь может, пока запрос выполняется заниматься своими делами. Ну и для пущей красявости навесить некоторое следилово за состоянием процесса, например в процентах выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 11:09 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
2GolV: > а просто перед исполнением запроса поставить Application.ProcessMessage. В > этом случае Делфи сама выделит поток на исполнение запроса Это как??? Имхо "ProcessMessages cycles the Windows message loop until it is empty, and then returns control to the application" и не более того... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 11:21 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
2 GoIV : ты бред-то не неси... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 11:24 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
Асинхронные запросы хорошо подходят, если клиенту не возвращаются данные. Ежели ему что-то должно придти, то GoIV не совсем бред несет. Без Application.ProcessMessage не обойтись. Нужно создать для требуемого запроса отдельный коннект и по нажатию чего-то делать: ADOConnectionMy.Connected:=false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2003, 00:08 |
|
||
|
Можно ли прервать выполнение запроса в программе?
|
|||
|---|---|---|---|
|
#18+
Cat2 он (GoIV) несет бред в любом случае, потому как вопрос стоит в выполнении запроса, а единственное что можно сделать при помощи Application.ProcessMessage (в данном контексте) это организовать красивый fetch большого числа записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 03:44 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32344299&tid=2115569]: |
0ms |
get settings: |
10ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 419ms |

| 0 / 0 |
