Форум: "Базы";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
ВнизTQuery.Filter Найти похожие ветки
← →
koks (2002-03-04 17:51) [0]Filter: string.
В данное свойство может вставляться выражения типо FieldName = 1 и пр...
Вопрос: насколько сложным может быть условие, передаваемое в Filter.
1. Потянет ли оно конструкцию типа:
((F1 = X1) and (F2 = Y1) and (F3 = Z1)
or (F1 = X2) and (F2 = Y2) and (F3 = Z2)
or (F1 = X3) and (F2 = Y3) and (F3 = Z3)
or (F1 = X4) and (F2 = Y4) and (F3 = Z4)
or (F1 = X5) and (F2 = Y5) and (F3 = Z5)
or (F1 = X6) and (F2 = Y6) and (F3 = Z6)
...
or (F1 = XN) and (F2 = YN) and (F3 = ZN))
где N - примерно 25...
2. Потянет ли конструкцию:
((F1 IN (X, Y, Z) AND F2 IN (K, L, M))
OR F1 in (X1, Y1, Z1) AND F2 IN(K1, L1, M1))
Хочу Where-инструкцию SQL преобразовать в фильтр.
Переписывать программу под использование OnFilterRecord очень долго...
← →
Val (2002-03-04 17:57) [1]простите, но зачем переделывать where в фильтр???
← →
Anatoly Podgoretsky (2002-03-04 23:24) [2]Насчет потянет ли, сил наверно не хватает проверить, надо просить других, попробуй поспать, отдохнуть.
← →
Фэ (2002-03-04 23:29) [3]А в чем, по большому счету, разница между фильтром и запросом ?
Если отвлечься от технологий и рассматривать Вас как потребителя результата - то никакой.
Пользуйтесь, чем душенька пожелает.
Ах у Вас то ли фокс, то ли дубейзе ?
Вот они-то больше на фильтры расчитаны.
← →
Reindeer Moss Eater (2002-03-05 08:48) [4]А такая вот разница
TQuery + Filter = обработка на клиенте
TTable + Filter = обработка на сервере
TQuery + Where = обработка на сервере
← →
koks (2002-03-05 09:56) [5]2APodgoretskiy...
Ваше ехидство панет гнилью... Между прочим - моя профессия (и специальность) отнюдь не связана с программированием. Просто мне волей не волей приходится этим заниматься потому, что наш "Многоуважаемый" IT-отдел не в состоянии (ввиду отсутсвия соответствующего образования и мозгов) удовлетворить запросы маркетингового отдела в части ПО. Они мне, кстати, тоже говорят что-то подобное тому, что высказали ВЫ... очень похожее.. А сами из FoxPro 2.5 не могут вылезти. Так что спасибо, что напомнили что я занимаюсь не своим делом... впрочем - я это и сам знаю... и других дел тоже полно, спать некогда.
2VAL и др.
Я не собираюсь передавать Where.. Я собираюсь передавать туда Условие (которое идет после Where). А нужно это вот зачем - у меня довольно сложная форма, которая одновременно отображает данные и позволяет задать условие на выборку. (Условия многовложенные - см. выше). Там даже есть что-то похожее на бланк запроса в Access.
Если задавать условие - она генерит SQL запрос... делает выборку в отдельный массив - и для этого массива открывает такую же форму....
Задача - сделать так, чтобы данные, удовлетворяющие условиям SQL Запроса отображались тут-же, в этой же форме, т.е. условияе SQL накладывалось (фильтром).
Если TQuery.Filter потянет такое условие - хорошо - сделать можно быстро, если не потянет - плохо - делать ОЧЕНЬ долго...
Господа мастера! дайте совет
← →
Johnmen (2002-03-05 10:14) [6]Filter даже с 1000 условий потянет, нет вопросов, но какая будет производительность - надо смотреть по месту...
← →
Val (2002-03-05 10:38) [7]>koks © (05.03.02 09:56)
я спрашивал не про передачу where, а про переделывание SQL-запроса в фильтр, поскольку никто не мешает вам, думаю, генерировать любой запрос по вашим данним динамически и отображать его результат в какой угодно форме, хоть сразу в нескольких..
По поводу "потянет ли конструкцию.." - зря вы так с Подгорецким, поскольку он, справедливо, по-моему, заметил, что раз у вас есть конструкция, почему бы вам не попробовать ее в фильтре самому? И икаких намеков на то, что вы занимаетесь не своим делом я в упор не вижу, извините.
← →
koks (2002-03-05 12:41) [8]Спасибо за отклики!
2Val - вся феня в следующем: у меня используются SQL-запросы. (т.е. реляцилнный доступ) - через WHERE - инструкцию. А индексирование (для DBase-овских таблиц по крайней мере) подразумевает навигационный доступ..
Мой пользователь хочет и то и то одновременно...
У меня cозрела мысль: передать Where -конструкцию в TQuery.Filter (отрубив предварительно Where) - И ВСЕ! Но так как здесь два принципиально разных доступа к данным, у меня возникло сомнение... Вот я и решил проконсультироваться у знатоков...
В ответ получил предложение поспать..... любой, по-моему разозлиться. Я, конечно, мог ко всему прийти сам опытным путем - только время уймища. Успел только схватить по верхам.
А все что мне нужно было - это ответ Johnmen"a За что ему ОГРОМНОЕ СПАСИБО!
← →
Anatoly Podgoretsky (2002-03-05 20:26) [9]Reindeer Moss Eater (05.03.02 08:48)
Расскажи где ты сервер нашел?
Reindeer Moss Eater (05.03.02 08:48)
Это не ехидство, а просто любовь к заляве или подобное, самому не написать этот текст, надо что бы кто то другой сделал. Был бы вопрос технический, а то простой набор текста и запуск программы на проверку, никакого ноу-хау. И твои коллеги высказали вполне справедливо, а то что они работают с FoxPro 2.5, то возможно этому есть причины кроме профессональных знаний.
Вот по вопросу под номером 2 другое дело, такой тип фильтра не поддерживается.
koks © (05.03.02 12:41)
Я то же разозлился, потому что другой интерпритации данный вопрос не подразумевает.
← →
Reindeer Moss Eater (2002-03-05 20:40) [10]>Anatoly Podgoretsky
Ну не заметил я в вопросе что речь про dBase и FoxPro.
А второй абзац мне за что?
← →
Anatoly Podgoretsky (2002-03-06 08:09) [11]Извини это уже я не заметил, что влепил заголовок, естественно это я Коксу отвечал, так как он не понял суть того что я ему написал и по ошибке влепил не ту ссылку :-(
← →
koks (2002-03-06 09:31) [12]Ну все ! Сколько все воды налили - а я так и не понял можно ли мои условия в фильтр напрямую ставить...
APodgoretski! Все из-за вас...
Я ведь понимаю, что можно попробовать самому... Но ведь я задал простой вопрос - МОЖНО ИЛИ НЕЛЬЗЯ. На него ответить по-моему очень просто.... если знаешь... Если не знаешь, конечно, сложне..
У меня наверное причины были чтобы сначала спросить а потом реализовывать...(Наверное такие же, как у нашего IT оставаться - на FoxPro).
ТАК ВСЕ - ТАКИ МОЖНО ИЛИ НЕЛЬЗЯ!
Заранее спасибо..
← →
Shirson (2002-03-06 13:06) [13]Первую конструкцию фильтр потянет, вторую - нет. Оператор in не входит в круг его понятий.
Посмотри в хелпе. TBDEDataSet -> Properties -> Filter -> SettingTheFilterProperty
← →
koks (2002-03-06 15:23) [14]СПАСИБО!
← →
Val (2002-03-06 15:36) [15]Не хочется быть занудой, но сравним:
koks © (06.03.02 09:31)
Ну все ! Сколько все воды налили - а я так и не понял можно ли мои условия в фильтр напрямую ставить...
APodgoretski! Все из-за вас...
и
Anatoly Podgoretsky © (05.03.02 20:26)
..
Вот по вопросу под номером 2 другое дело, такой тип фильтра не поддерживается.
..
Нету в жизни справедливости :))
← →
Malder (2002-03-06 16:01) [16]Хех. Смешную вы дискуссию развели.
У меня нет сейчас под рукой Delphi и я не могу написать код, выполнить и сказать результат. Так что не знаю как для этого случая, а вот вообще, при большом числе параметров Filter выдает ошибку, и число этих параметров не так уж велико... так что советую не злоупотреблять этим и искать альтернативные методы фильтрации. Да и вообще когда фильтры такие сложные - это обычно говорит о неправильной архитектуре базы.
← →
koks (2002-03-06 17:34) [17]ВСЕМ СПАСИБО! ВОЙНА ОКОНЧЕНА - МОЖНО ИДТИ ПО ДОМАМ...
← →
Anatoly Podgoretsky (2002-03-06 20:32) [18]koks © (06.03.02 09:31)
Тебе уже ответили, что можно, но только первое и не я один, и предложили вставить и проверить, а не заставлять это делать нас (это уже я, по тому что с моей точки зрения это или наглость или лень). В принчипе, что бы точно ответить надо знать, что такое Xn, Yn, Zn, а это только ты знаешь.
Если тебя что то другое интереусет, то ты не объясняешь и не указываешь причины по которым ты не можешь сам написать это в фильтре. Может тебя вообще интересует есть ли ограничения на длину выражения фильтра, конечно есть, но ты про это не справшиваешь.
Вместо того что бы спокояно разобрать и объяснить причины, ты выражаешь просто обиду, вот я и говорю _не понял_
← →
koks (2002-03-12 11:04) [19]APodgorodetski...
Про свою обиду я, конечно, согласен...
Но вот разве трудно было Ваш последний ответ, который содержит конструктивный подход, поместить в самое начало... а предложение поспать - в конец. По-моему, вы тоже были в неважном настроении и обижаться есть за что.
Насчет что такое Xn, Yn, Zn Вы абсолютно правы....
Ограничение на длину меня не интересовало т.к. я знал что ее не достигну.
А вообще, претензии по поводу литературного построения вопроса не принимаются. Уверяю Вас, не из лени... Из лени - это наш IT мне говорит, что "попробуй сам - нам некогда" (налицо отказ от выполнения своих прямых обязанностей). Вот я и пробую как могу, во внеурочное время, совмещая с "основным производственным процессом", как говорили в совковые времена.
Здесь много похожих вопросов задается. Если у вас "Другой Уровень" - зачем Вы сюда ходите. Я лично не стестняясь говорю, что хожу сюда ради ЭКОНОМИИ ВРЕМЕНИ. Не понимаю почему Вы это ставите в претензию. И ни кого я ничего делать не заставлял - я задал вопрос можно или нельзя...
EOF
← →
koks (2002-03-12 11:13) [20]APodgorodetski...
Про свою обиду я, конечно, согласен...
Но вот разве трудно было Ваш последний ответ, который содержит конструктивный подход, поместить в самое начало... а предложение поспать - в конец. По-моему, вы тоже были в неважном настроении и обижаться есть за что.
Насчет что такое Xn, Yn, Zn Вы абсолютно правы....
Ограничение на длину меня не интересовало т.к. я знал что ее не достигну.
А вообще, претензии по поводу литературного построения вопроса не принимаются. Уверяю Вас, не из лени я... Из лени - это наш IT мне говорит, что "попробуй сам - нам некогда" (налицо отказ от выполнения своих прямых обязанностей). Вот я и пробую как могу, во внеурочное время, совмещая с "основным производственным процессом", как говорили в совковые времена.
Здесь много похожих вопросов задается. Если у вас "Другой Уровень" - зачем Вы сюда ходите. Я лично не стестняясь говорю, что хожу сюда ради ЭКОНОМИИ ВРЕМЕНИ. Не понимаю почему Вы это ставите в претензию. И ни кого я ничего делать не заставлял - я задал вопрос можно или нельзя...
EOF
← →
Anatoly Podgoretsky (2002-03-12 23:20) [21]Очень просто, надо было набрать выражение и попробовать, а не расчитывать, что это за тебя сделает другой, тем более что для этого надо создавать специальную тестовую базу, а про более поздний вопрос, это уже после уточнений.
Насчет твоих IT я не могу обсуждать, кто из вас прав, не знаю я ващей специфики, но могу сказать, что тоже в некоторых случаях приходится так отвечать, зависит от нагрузки, в чии обящанности входит, от самого вопроса и других причин. Но всегда прекрасно находим общий язык, а вот нахлебников не жалую, они должны сами делать свою часть работы, но на помощь всегда могут расчитывать.
← →
sniknik (2002-03-12 23:42) [22]Скандальный тип. Я бы встал на сторону IT. Если бы пришлось выбирать. Только представлю как он им ставит задачу и что отвечает если не понял. А святая уверенность что он разбирается в задаче лутше специалистов, чего стоит!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.009 c