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

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

Чтение данных с MS SQL блоками [D7, MSSQL]


Страницы:   1 2

Санёк ©   (2004-04-28 16:49:00) 

Уважаемые мастера! Подскажите как реализовать чтение данных с MS SQL Server блоками, допустим по 100 записей. Можно ли как то под это заточить ADODataset, чтобы при скроллинге в гриде данные подчитывались с сервера, а не тащились все целиком на клиента. Установка свойства MaxRecords в ADO, или команда Set RowCount в MS SQL позволяет считывать нужное количество записей, но как позиционировать этот блок на другие записи, т.е. реализовать пролистывание вперед, назад например по 100 записей. Можно ли перекрыть методы:
   function GetRecNo: Integer; override;
   function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override;
   function GetRecordCount: Integer; override;
в ADODatasete, если так можно, то какие методы нужно перекрывать еще для правильной работы.


Санёк   (2004-04-28 19:25:00) [21]

Триал не знаю, если хочешь полный могу скинуть


Ega23   (2004-04-28 19:15:00) [22]

Кстати о Quantum Grid: у них есть какой-нибудь триал? Чтобы боссу показать, а то он просто так 100 бакинских жмётся выкладывать


Курдль   (2004-04-28 19:06:00) [23]


> Можно ли как то под это заточить ADODataset, чтобы при скроллинге
> в гриде данные подчитывались с сервера, а не тащились все
> целиком на клиента.

У TdxDBGrid (от Quantum Grid) в DBOptions есть флаг PartialLoad.
Но тянет ли он частями из базы, или только с датасэта - не проверялось (однако, на миллионе записей шевелится шустро).


Ega23   (2004-04-28 18:55:00) [24]

Ну, брат, это я - пас. Даже не знаю так сходу...
попробуй заказчика переубедить :о)


Санёк   (2004-04-28 18:52:00) [25]

Вот - вот как раз вопрс требований заказчика, поносмотрелись на разные ERA Financials и хотят чтоб как там, а как это сделать? Хотя бы в какую сторону идти?


Ega23   (2004-04-28 17:58:00) [26]

Можно сделать как угодно. Вопрос временных затрат и требований заказчика. Я изложил только пример из собственного опыта. Пользователям нужна стандартная система фильтрации + возможность "расширенного" поиска. Если ты это реализуешь, то мигом избавишься от кучи проблем.


Санёк   (2004-04-28 17:44:00) [27]

Дело в том, выборку предпологается помещать в Lookup, и уже по выбору записи, например сотрудника, заполнять автоматически поля организации и подразделения. Подобный Lookup(Zoom) реализован в достаточно распространненой системе ERA Financials, где записи подчитываются по 100.


Ega23   (2004-04-28 17:32:00) [28]

А просто ограничить выборку не судьба? Да, должен быть способ получения ВСЕЙ выборки, но реально пользователю требуется получить какие-то КОНКРЕТНЫЕ данные.
Пример моей программы: есть список персонала. Каждый сотрудник характеризуется следующими основными параметрами: ФИО, наличие пропуска, Организация, Подразделение, Статус (Временный/Постоянный). Всего сотрудников - порядка 6000. Данных при всей выборке тянется очень много (запрос - 5 сек.). Но, если ограничить запрос хотя бы Организацией и Подразделением, то макимальный набор записей будет уже не более 400.


Страницы:   1 2

Наверх

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