Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизЧтение данных с 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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.042 c