C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Отображение БД в TAdvStringGrid
Евгений
Отправлено: 12.12.2005, 11:20


Не зарегистрирован







Процесс отображения таблицы, состоящей из 15 полей и около 3500 записей составляет порядка 1 минуты на P4-1700 Mhz. Можно ли как-то ускорить этот процесс ? Ведь в спец. компоненты типа DBGrid отображается всё очень быстро.
Guest
Отправлено: 12.12.2005, 12:23


Не зарегистрирован







DBGrid отображает только те записи, которые реально видны на экране. А для StringGrid нужно все записи преобразовать к тексту заранее.
+ (в зависимости от компонента) — не все записи сразу присутствуют на клиенте.
Евгений
Отправлено: 12.12.2005, 13:28


Не зарегистрирован







Так что тут можно предпринять для ускорения загрузки в StringGrid ? Или любые манипуляции не приведут к существенным результатам и нчего может быть мудрить ?
Guest
Отправлено: 12.12.2005, 13:55


Не зарегистрирован







Просто — скорее всего ни как. Можно долго мудрить.
Но можно легко решить проблему если существенно сократить число записей. 3500 пользователю ни когда не нужно. Трудно работать даже если записей больше ста.
Т.е. можно свести запрос к 1-3 десяткам, необходимым для принятия решения а остальные
а) можно подгружать в фоновом режиме
б) спросить пользователя согласен ли он ждать если хочет большое число записей.

На практике используются оба этих метода одновременно.
Евгений
Отправлено: 12.12.2005, 14:49


Не зарегистрирован







Наверно это правильно. Спасибо за помощь !

Вернуться в Работа с базами данных в C++Builder