Если я получаю данные из базы данных от времени начала до конца, в течение этого времени (обработки/запроса), я хочу отобразить индикатор выполнения (что-то вроде "Обработка, пожалуйста, подождите" ). Как я могу это сделать?
Отобразить индикатор выполнения во время обработки
Ответ 1
Шаги получения данных из db:
- приложение отправить запрос в db
- db анализирует запрос и подготавливает результат.
- db отправить результат обратно в приложение
В большинстве случаев вы не можете сказать, сколько времени потребуется, поэтому вместо индикатора прогресса подумайте о комбинации:
- часовой указатель мыши
- "Подождите" в строке состояния
- немного анимация (ветряная мельница, вращающиеся шестерни и т.д.)
Ответ 2
Хотя это правда, что вы не можете сказать, сколько времени займет запрос, его можно дать вашему пользователю и понять, что время истекло/осталось. Вы используете контрольную панель выполнения из своей 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