![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
несколько запросов [D7, XP]
Armond © (2008-04-02 08:59:00)Добрый день !!! Подскажите как сделать !!! Сделал один запрос,т.е. выбрал нужные записи, потом если понадобится, то необходимо выполнить еще один запрос, но уже из того набора данных, который уже выбрали !!
Reindeer Moss Eater (2008-04-02 11:57:00) [21]Как правило :
1) юзер путается в интерфейсе базового компонента
2) возможностей задавать фильтры у базового компонента довольно ограничены, особливо для всяких перечислений и ссылок на справочники, а так же сложных комплексных условий. В форме мона ввести обычный чекбокс и в обработчике извращаться
3) Хорошая запросная система пишется довольно долго и стоит немалых бабок. Я видел только одну, достаточно мощную и понятную для юзера. Ее писали 2 года и лет 5 отлаживали и шлифовали.
1. не более, а менее чем в мастерах и визардах
2. ограничены возможности и у отдельной формы. по справочникам (объединениям и вычислимым на сервере полям) поиск поддерживается если сервер умеет делать select from select
3. ну да. только в моем случае она есть всегда, хоть и не навороченная.
А чем так непонятно для юзера ввести маску поиска в заголовке колонки?
там ведь не просто банальные литералы но и вырадения поддерживаются
"больше" "меньше" "не равно" и тд.
ANB (2008-04-02 11:47:00) [22]
> Только в одном варианте интерфейс ввода встроен в базовый
> компонент, а во втором программер на каждый чих дизайнит
> форму ввода.
Как правило :
1) юзер путается в интерфейсе базового компонента
2) возможностей задавать фильтры у базового компонента довольно ограничены, особливо для всяких перечислений и ссылок на справочники, а так же сложных комплексных условий. В форме мона ввести обычный чекбокс и в обработчике извращаться
3) Хорошая запросная система пишется довольно долго и стоит немалых бабок. Я видел только одну, достаточно мощную и понятную для юзера. Ее писали 2 года и лет 5 отлаживали и шлифовали.
ANB (2008-04-02 11:42:00) [23]
> Хотя это наверное неправильно, да и запрос как такой большой
> построить ?
Ограничение на размер запроса - 64 килобайта.
По 5 полям - там вообще миниатюрный запрос будет.
Если база небольшая, (т.е. без проблем мона выкачать всю таблицу на клиента и ничего не падает и не тормозит), то самое простое решение - формировать кажный раз новый запрос на основе введенных юзером условий, учитывая заказанную им сортировку.
Kolan (2008-04-02 11:42:00) [24]> Типа хочу все увидеть и глазками выбрать.
Это не самый хреновый вариант. А очень удобный и распространенный для небольших наборов данных. Для больших, согласен, нужно фильтороват, сортировать, делать пэйджинг, до.
Reindeer Moss Eater (2008-04-02 11:41:00) [25]АНБ - те же тестикулы, только сбоку.
Ввод критериев поиска и запрос.
Только в одном варианте интерфейс ввода встроен в базовый компонент, а во втором программер на каждый чих дизайнит форму ввода.
Armond (2008-04-02 11:38:00) [26]
> Самый хреновый вариант - когда юзер таки не знает, что именно
> ему надо.
> [45]
ANB (2008-04-02 11:36:00) [27]Сначала показать юзеру ненужные ему данные, а потом уже давать выбрать нужные - жуткий изврат. Обычно для этого сначала поднимается форма с полями для фильтра, на основании введенных данных формируется запрос, выполняется и юзеру показывается уже только нужные ему данные.
Самый хреновый вариант - когда юзер таки не знает, что именно ему надо. Типа - хочу все увидеть и глазками выбрать. Такую ситуевину надо пресекать еще на этапе проектирования и согласования.
Kolan (2008-04-02 11:30:00) [28]Понял наконец, ты хочешь сказать, что тянеш только видимую часть, так?
Reindeer Moss Eater (2008-04-02 11:24:00) [29]Если с одной стороны «В моем варианте весь набор вовсе не тянется.»,
Включи скл монитор и посмотри чего и сколько будет зафетчено по сети при открытии запроса без where.
Kolan (2008-04-02 11:23:00) [30]Удалено модератором
Примечание: Флудить завязываем
Kolan (2008-04-02 11:22:00) [31]> Если надо, могу показать пустой. Но обычно он содержит данные.
Дак откуда они беруться то?
Если с одной стороны «В моем варианте весь набор вовсе не тянется.», а с другой «В шапке грида в колонке открывается инплейс эдитор.».
То есть при показе грида ты все не тянешь, а задать условие можно только увидев грид. Что-то ты не договариваешь
Armond (2008-04-02 11:20:00) [32]
> То есть ты показываешь человеку пустой грид.
> Дальше он вводит что-то и только тогда показываешь результат?
>
Нет, сначала у меня вываливаются все данные, действительно, я могу и не сортировать !!!
Reindeer Moss Eater (2008-04-02 11:19:00) [33]То есть ты показываешь человеку пустой грид.
Если надо, могу показать пустой. Но обычно он содержит данные.
Игорь Шевченко (2008-04-02 11:17:00) [34]Reindeer Moss Eater © (02.04.08 11:07) [42]
Я, разумеется, в своем посте [44] имею в виду задачи OLTP, ибо делать OLAP на медленных каналах, по-моему, садомазохизм.
Kolan (2008-04-02 11:16:00) [35]> В шапке грида в колонке открывается инплейс эдитор.
То есть ты показываешь человеку пустой грид.
Дальше он вводит что-то и только тогда показываешь результат?
Большинство пользоваетлей что я знаю (и я в том числе) начили бы орать: «ААА ве мои данные пропали».
Как можно фильтровать то, незнаю что. Может я вообще фильтроват не буду, а нужное мне и так видно.
А то что ты описал похоже на поиск.
Armond (2008-04-02 11:15:00) [36]Да понимаете народ, у меня есть таблица, есть 5 комбобоксов, т.е. максимум может быть 5 фильтров, не более. Например, клякнули по первому комбобоксу, отсортировали по данные, потом может быть больше и не надо, а может наоборот, придется и по другим сортировать !!! Вот такая вот задачка. Я вот думаю, может быть ввести данные по все комбобоксам, а потом нажать на кнопку и отработать один запрос. Хотя это наверное неправильно, да и запрос как такой большой построить ?
Игорь Шевченко (2008-04-02 11:13:00) [37]Reindeer Moss Eater © (02.04.08 11:07) [42]
Альтернатива - заранее ограничивать выборку заведомо известными значениями. А внутри этой выборки можно и на клиенте поискать, пофильтровать, посортировать, если уж такая нужда возникает. В моей практике необходимость сортировки и фильтрации не встречалась среди должностных задач исполнителей. Для красивости - да, делается. Но жизненной необходимости в этом я, признаться, не видел.
Reindeer Moss Eater (2008-04-02 11:10:00) [38]Ну а как тогда, объясни, может я полезное что-то узнаю.
В шапке грида в колонке открывается инплейс эдитор. Пока в нем не нажмешь энтер или не выйдешь в облать данных, никакие запросы не пересылаются на сервер.
Reindeer Moss Eater (2008-04-02 11:07:00) [39]От задачи зависит. Я в своей жизни еще не встречал задачи "поиск неизвестной записи в большой таблице"
Ну я не про жизненный опыт и спрашивал, а про альтернативы.
Kolan (2008-04-02 11:06:00) [40]> В моем варианте весь набор вовсе не тянется. И не перетягивается
> после ввода каждого очередного символа.
Ну а как тогда, объясни, может я полезное что-то узнаю.