Отображать индикатор выполнения во время обработки - PullRequest
18 голосов
/ 16 июня 2009

Если я получаю данные из базы данных от времени начала до конца, в течение этого времени (обработки / запроса) я хочу отобразить индикатор выполнения (что-то вроде «Обработка, пожалуйста, подождите»). Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 16 июня 2009

Шаги получения данных из БД:

  1. приложение отправляет запрос в db
  2. db анализирует запрос и подготавливает результат
  3. db отправить результат обратно в приложение

В большинстве случаев вы не можете сказать, сколько времени это займет, поэтому вместо индикатора выполнения подумайте о комбинации:

  • указатель мыши в виде часового стекла
  • «Пожалуйста, подождите» в строке состояния
  • маленькая анимация (мельница, вращающиеся шестерни и т. Д.)
0 голосов
/ 17 июня 2009

Хотя верно, что вы не можете сказать, сколько времени займет запрос, возможно дать вашему пользователю представление о времени, которое прошло / осталось. Вы используете индикатор выполнения из VB IDE. Затем вы устанавливаете его свойство 'max' на количество записей вашего запроса. По мере итерации по записям увеличивайте свойство значения индикатора выполнения. Вот пример; («Rs» - набор записей ADODB)

        ProgressBar1.Max = Rs.RecordCount - 1

        For P = 0 To .RecordCount - 1
           ProgressBar1.Value = P

            'some process here
            Rs.MoveNext

        Next P
...