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