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

Вниз

Помогите разобраться с фильтром на Odac   Найти похожие ветки 

 
Андрусь ©   (2002-09-19 16:56) [0]

Привет всем! Нужно наложить фильтр на DataSet,чтобы фильтровать все записи,начинающиеся с апострафа.Если через BDE,то фильтр легко пишется:Filter:=FieldName+"=""*". Но если к базе коннект идёт через Odac,то у меня возникли трудности с написанием этого фильтра. Может кто сталкивался с подобной проблемой. Зараннее всем большое спасибо.


 
dimis   (2002-09-19 17:31) [1]

какие трудности?
подробней
ODAC возможно не использует LocaSql
попробуй как в oracle
FieldName+ "LIKE "||%"


 
Johnmen ©   (2002-09-19 17:44) [2]

А может быть не париться и обрабатывать OnFilterRecord ?


 
Андрусь ©   (2002-09-19 18:04) [3]

>dimis
Я хочу отфильтровать записи,начинающиеся с апострофа. Фильтр ставлю на клиенте. Причём если через БДЕ работаю,то пишу Filter:=FieldName"=""""*"""; и работает,а через Odac нет.
>Johnmen ©
Пишу такую штуку вроде поисковика - по введённым клавишам фильтрую DataSet. Для меня важна скорость. Вряд ли я напишу поисковик более быстрый чем написанный людьми. Так что проще попарится,найти комбинацию символов,на которые необх. менять апостроф.Тем более остальное уже работает.


 
Леха_   (2002-09-19 18:26) [4]

а LIKE из SQL уже убрали?
95% что сервер отфильтрует быстрее клиента тем более что когда условие по началу строки индексы вполне работают


 
Андрусь ©   (2002-09-19 19:31) [5]

>Johnmen ©
Не подскажите чего событие OnFilterRecord в Odac срабатывает не только для отфильтрованных записей.


 
dimis   (2002-09-20 08:38) [6]


> Андрусь ©

я пытаюсь сказать что в оракле применяется не *, а %
попробуй как я сказал ранее
"LIKE """"||%"


 
ЮЮ ©   (2002-09-20 09:19) [7]

>Не подскажите чего событие OnFilterRecord в Odac срабатывает не только для отфильтрованных записей.

Наверное,потому что именно обработчик OnFilterRecord и определяет, будет ли отфильтрована эта запись или нет. А Filter отдыхает. Изучай исходники компонент.


 
Андрусь ©   (2002-09-20 10:40) [8]

>dimis
Нет там Like в лексемах для фильтра.
>ЮЮ
Но почему так часто отрабатывает.


 
Johnmen ©   (2002-09-20 10:49) [9]

Не надо переживать :-)))
При использовании OnFilterRecord вместо прямого Filter скорость, если и уменьшится, то весьма незначительно...


 
roottim   (2002-09-20 10:52) [10]

FilterSQL
а вообще Filter унаследован.. и никаких изменений непретерпел, что-то видимо коряво... либо вы, либо одак


 
Андрусь ©   (2002-09-20 12:46) [11]

>Johnmen
Скорость важна! Всё-таки чего он отрабатывает часто.
>roottim
Честно,говорю - ничего лишнего руками не трогаю. Простейшее приложение - форма,панель,едит,кнопка,грид,сейсия,квери,датасорс.
По клику на кнопку снимаю строку с едита в фильтр,который фильтеред тру. Нет это там. 2 символа - #39,#34 - не проходят.


 
roottim   (2002-09-20 13:43) [12]

используй FilterSQL... работает с where запроса, фильтрует сервер а не датасет
смотрел Filter, чет и правда баг есть... фильтрует если пробежаться по датасету... проверял на 3.3, на 3.6 незнаю, лень!


 
Андрусь ©   (2002-09-23 11:16) [13]

>roottim
См. постановку задачи. Нужна быстрая обработка в мозгах.


 
Леха_   (2002-09-23 12:04) [14]

по возможности используй не фильтр а соответствующий SQL запрос


 
Андрусь ©   (2002-09-23 13:55) [15]

Я понимаю,но..



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
1-45288
Keplin Sergey
2002-10-04 14:02
2002.10.14
Как в цикле прогнать все компоненты приложения?


14-45590
MJH
2002-09-20 19:38
2002.10.14
Форсаж (e-Racer)


1-45255
Arbin
2002-10-03 09:22
2002.10.14
ОТправка сообщений на компы


1-45349
Supra
2002-10-05 22:14
2002.10.14
Открытие интернет страниц


1-45441
Демонов Е.В.
2002-10-03 12:08
2002.10.14
Вопрос О Процессах