Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ProgressBar ;для ADOQuery1.ExecSQL [D5, MSSQL]


gizar ©   (2002-03-12 14:37:00) 

Уважаемые дельфийцы!!!
Проблема....замучила уже...

Соединяюсь с MS SQL Server 6.5 через TADOConnection.
Через ADOQuery1.ExecSQl запускаю load database... from disk... with STATS (так как наборов данных никаких не возвращается) и немогу сообщения отловить о процентах выпорлнения восстановления базы, которые в Enterprise Manager выдаются на закладке Results.

Посоветуйте как ?

Может быть как нибудь можно привязать ProgressBar...?

Заранее благодарен.

Гизар


gizar   (2002-03-12 16:18:00) [1]

Не работает...((((, даже не доходит до события OnFetchProgress


Delirium   (2002-03-12 15:02:00) [2]

Ладно расскажу по подробнее:
у ADOQuery есть событие - OnFetchProgress, которое при асихронном исполнении запроса позволяет передавать в ProgressBar значения, показывающие на каком этапе находится загрузка RecordSet-а. Вот и всё - никаких других подобных событий в ADO нет, единственное что можно сделать - завести собственный Timer и, ориентируясь на среднее время исполнения, попытаться что-то показать в ProgressBar-е.


gizar   (2002-03-12 14:56:00) [3]

А если использовать ADOQuery.Open ассинхронно, то как выводить сообщения ...?


gizar   (2002-03-12 14:54:00) [4]

ADOQuery.Open это не подходит, потому что Delphi начинает ругаться на то что никаких данных не возвращается, ExecSQL специально сделан для этого.

Вроде еще есть союытие в ADOConnection OnInfoMessage но на совсем понятно как им пользоваться


Delirium   (2002-03-12 14:50:00) [5]

Забыл добавить ADOQuery надо исполнять асинхронно


DiggerAbstract   (2002-03-12 14:44:00) [6]

насколько я знаю - никак
когда выполняется запрос - управление берет на себя сервер и выполняемая задача является недоступной


Delirium   (2002-03-12 14:44:00) [7]

Метод ExecSQL создан именно для того, чтобы ничго не возвращать.
Используй ADOQuery.Open


Наверх

Титульная страница Поиск, карта сайта Написать письмо