Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Чтение данных с MS SQL блоками   Найти похожие ветки 

 
Санёк   (2004-04-28 16:49) [0]

Уважаемые мастера! Подскажите как реализовать чтение данных с 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, если так можно, то какие методы нужно перекрывать еще для правильной работы.


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

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


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

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


 
Ega23 ©   (2004-04-28 17:58) [3]

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


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

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


 
Ega23 ©   (2004-04-28 18:55) [5]

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


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


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

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


 
Ega23 ©   (2004-04-28 19:15) [7]

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


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

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


 
Курдль ©   (2004-04-28 19:29) [9]


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

У меня оперативки в жбане не хватает, шоб помнить :)))  Но мы покупали весь набор более, чем за 500 и не разу не пожалели!
Кстати, проблемы автора бы тоже легко решились средствами этого набора. Например, TdxLookupComboEx, так на секундочку, позволяет "вывалить по клику на баттон" не просто голимый список, а целую красивую таблицу с бэндами, многострочными колонками, группировочными кнопками (как аутглюк), сортировкой по полям, контекстным поиском, программируемым фильтром и т.д... устал писать. Мне уж пора от них %% получать за рекламу!


 
Ega23 ©   (2004-04-28 19:31) [10]

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

Кидай на egorov@dedal.dubna.ru  Тока если он меньше 10Мб.


 
Санёк   (2004-04-29 09:22) [11]

Он 26,5 MB кидать?

> Кстати, проблемы автора бы тоже легко решились средствами этого набора.

Я всё это уже использую, всё красиво, классно, но таблицка под миллион записей не очень функциональна в этих красивых Lookup, туда бы пару кнопок листания по страничкам, и датасет с этой возможностью. Вот это было бы сила!


 
Ega23 ©   (2004-04-29 10:34) [12]

Он 26,5 MB кидать?
А выложить куда-нибудь можешь? У нас провайдер такое письмо не пропустит


 
Санёк   (2004-04-29 12:12) [13]

давай в трех архивах скину?


 
Ega23 ©   (2004-04-29 12:19) [14]

Давай!


 
Санёк   (2004-04-29 12:42) [15]

А тебе под какую Delphi надо?


 
Ega23 ©   (2004-04-29 12:47) [16]

Delphi 5


 
Санёк   (2004-04-29 13:06) [17]

вот такой то у меня и нету, есть под 6(но старая версия), и совсем свежая под 7


 
Ega23 ©   (2004-04-29 13:09) [18]

Давай тогда под 7


 
tender   (2004-04-29 13:11) [19]

а шо так не получается?!

SELECT TOP 100 *
FROM   Documents WITH d(NOLOKC)
WHERE d.Id > .....


 
Санёк   (2004-04-29 13:15) [20]

а назад как? И что с сортировкой?


 
Ega23 ©   (2004-04-29 14:07) [21]

2 части получил, спасибо. 3-я будет, или в 2 всё поместилось?


 
Ega23 ©   (2004-04-29 14:12) [22]

Все 4 получил, большое спасибо!


 
avgur ©   (2004-04-29 14:40) [23]


> Санёк   (29.04.04 12:42) [15]
> А тебе под какую Delphi надо?


Можно мне скинуть под 6 дельфин, интересно поюзать, слышал много, а потрогать хочится....


 
Санёк   (2004-04-29 14:53) [24]

Пиши мыло


 
avgur ©   (2004-04-29 15:07) [25]


> Санёк   (29.04.04 14:53) [24]
> Пиши мыло


angelcom@a-teleport.com


 
Санёк   (2004-04-29 17:51) [26]

Подскажите кто нибудь хоть какую либо-информацию


 
denik   (2004-04-29 21:58) [27]

> Санёк   (29.04.04 17:51) [26]

Можно мне тоже скинуть компонент?


 
angelcom   (2004-05-01 09:25) [28]


> > Санёк   (29.04.04 12:42) [15]
> > А тебе под какую Delphi надо?
>
>
> Можно мне скинуть под 6 дельфин, интересно поюзать, слышал
> много, а потрогать хочится....


Компанента так и не пришла, может вышлешь????



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.023 c
1-1084307011
Дима
2004-05-12 00:23
2004.05.23
Строки


14-1083307555
Aplay
2004-04-30 10:45
2004.05.23
Программа обучение в ВУЗах на программиста


8-1078224072
Ssergy
2004-03-02 13:41
2004.05.23
2D в 3D


1-1083662053
Алламит
2004-05-04 13:14
2004.05.23
Изменение параметров диаграммы в XL


3-1082739226
lockheed_man
2004-04-23 20:53
2004.05.23
Проблемы с SQL-запросом.