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

Вниз

Как открыть TADODataSet не полностью?   Найти похожие ветки 

 
chis   (2004-09-14 11:27) [0]

Используется MSSQL2000. Хочется чтобы таблица, или запрос открывались по мере необходимости, а не вся целиком. Как это можно сделать ?
Я пробовал поменять CursorLocation на clUseServer тогда выборка идет замечательно так как надо, но скроллинг у грида кривой.


 
Sergey13 ©   (2004-09-14 11:30) [1]

>Хочется чтобы таблица, или запрос открывались по мере необходимости, а не вся целиком.
Так тебе от забора или до вечера? 8-)


 
chis   (2004-09-14 11:33) [2]

Время терпит, так что можно от забора :)


 
Ega23 ©   (2004-09-14 11:34) [3]

Select top 100 * from Table1


 
Sergey13 ©   (2004-09-14 11:36) [4]

2[2] chis   (14.09.04 11:33)
Просто в той цитате 2 разных, никак не связанных между собой, вопроса. Когда открывать или сколько открывать?


 
sniknik ©   (2004-09-14 11:41) [5]

> Я пробовал поменять CursorLocation на clUseServer тогда выборка идет замечательно так как надо, но скроллинг у грида кривой.
одно из двух либо выборка по необходимости (с неизвестным количеством записей и "кривым" скролингом), либо полная выборка с точным знанием количества и номеров в рекордсете и "прямой" скрол (который именно по этим данным и работает).
выбирай.

Ega23 ©   (14.09.04 11:34) [3]
это тоже "конечная" выборка без "дозабора" ;), тут тоже будет "кривой" скрол. (не в прямом смысле, а в том что он будет по ограниченному числу записей, а нужно по всем, и по скролу не узнать есть ли что там дальше)


 
chis   (2004-09-14 11:45) [6]

"Сколько открывато" - не годиться, открывать по мере необходимости, чтобы в случай чаво и сортировать и фильтровать можно было (так-что select top тоже не годиться).
Меня удовлетворило бы открытие курсора на стороне сервера, если бы был приемлемый скроллинг на гриде, хотя-бы на момент уже открытых записей.


 
}|{yk ©   (2004-09-14 11:47) [7]

Возьми dxDBGrid, там есть свойство PartialLoad. Фетчит только первые 20 записей, а потом по мере прокрутки


 
chis   (2004-09-14 11:50) [8]

Может быть подскажете как можно организовать что-то похожее на просмотр таблиц в Enterprise Managere. Там как раз то-что нужно, скроллинг показывает состояние уже открытых записей.


 
chis   (2004-09-14 11:51) [9]

В качестве грида используется EhLib


 
sniknik ©   (2004-09-14 11:55) [10]

> }|{yk ©   (14.09.04 11:47) [7]
это и есть серверный курсор, только PartialLoad задается количеством строк в гриде (вернее любой последней запрошеной, если сделать last то все выкачает) при нажатии на pagedawn.
подозреваю что и поведение скрола там будет аналогичным (точно не скажу, не пользуюсь).


 
chis   (2004-09-14 12:09) [11]

Sergey 13 - так что там от забора?


 
Sergey13 ©   (2004-09-14 12:19) [12]

2[11] chis   (14.09.04 12:09)
>Sergey 13 - так что там от забора?
Обедал я. А что забор? 8-)
Я такие вопросы всегда решаю так. Стараюсь добиться, что бы запрос (который в грид) возвращал как можно меньше. Мой критерий 100-150 записей максимум. После этого меня уже не особо волнует "докачка". Кстати эту "докачку" некоторые движки обеспечивают "автоматом", просто про это надо помнить и уметь пользоваться. Например, если в ЕхЛиб-гриде поставить в футер нечто вроде суммы или каунта, то пофиг все настройки - с сервера заберется сразу все.
А насчет когда открывать - тут уж ты хозяин-барин - когда надо тогда и открывай.


 
chis   (2004-09-14 12:24) [13]

Открывать все мне надо только при необходимости (например переместившись в конец набора записей), открывать нужно таблицы, процедуры, представления, так-что как понимаешь запрос не всегда можно сделать.


 
Sergey13 ©   (2004-09-14 12:29) [14]

2[13] chis   (14.09.04 12:24)
Ты меня запутываешь все больше. Это специально? 8-)
>например переместившись в конец набора записей
Какого набора? Подозреваю того, про который я писал в [12].

>открывать нужно таблицы, процедуры, представления
связанные что-ли? Ну дык и открывай когда надо. На афтерскрол главного НД повесь например (пере)открытие подчиненного. Или я не въезжаю в проблему?


 
Sergey13 ©   (2004-09-14 12:33) [15]

А, на sql.ru ты тоже отметился.
>У меня программа типа базолаза
Расшифруй этот термин плиз.


 
chis   (2004-09-14 12:38) [16]

IBExpert, Enterprise Manager... короче все что позволяет программеру передвигаться (лазить) по базе данных. Кстати и там и там для просмотра таблиц используется необходимый мне механизм - первоначально открывается только то что может показать грид, а при перемещении скроллинга вниз открываются последующие записи и соответсвенно "преображается" скроллинг.


 
Sergey13 ©   (2004-09-14 12:42) [17]

Я тебе в [12] писал про футер ЕхЛиба. Это не твоя та самая причина? Может ты сразу статистику по открываемой таблице кажешь.


 
chis   (2004-09-14 13:07) [18]

Нет, слишком большие таблицы, к тому-же статистику можно как раз запросами сформировать - оно быстрее будет.


 
Ega23 ©   (2004-09-14 13:30) [19]

Блин, а ты о пользователе подумал? Каково ему смотреть выборку хотя бы из 1000 записей? Оптимальный набор - не более 100 за раз.
Введи лучше систему фильтрации, там по имени, фамилии, по подразделениям каким-нибудь, датам и т.п. В результате можно ограничить выборку вплоть до одной записи, что гораздо удобнее, чем 10000.



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

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

Наверх




Память: 0.51 MB
Время: 0.03 c
14-1092729585
Piter
2004-08-17 11:59
2004.10.10
Magic Forum beta9 - клиент форумов "Мастера Дельфи" и "Дремучие"


1-1095752480
Turbid
2004-09-21 11:41
2004.10.10
UTF-8?


4-1094655045
Алексей Петухов
2004-09-08 18:50
2004.10.10
Настройки принтера


4-1094432292
js
2004-09-06 04:58
2004.10.10
Вызов диалога "Выбор: Пользователь, Группа или Компьютер"


4-1094106544
Алексей
2004-09-02 10:29
2004.10.10
Как узнть активный язык ввода в другом приложении?