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

Вниз

Фильтрация по частичному совпадению   Найти похожие ветки 

 
VladimirL   (2002-02-01 17:24) [0]

Ребята, такой вопрос: как в Delphi 4 организовать фильтрацию по частичному совпадению строк, т. е., например, нужно, чтобы в гриде были показаны все записи таблицы, в поле "Naim" которых есть подстрока "Анальгин"? Событие OnFilterRecord использовать нельзя, т. к. тогда база в гриде еле ползает. Компонент ТТаble.
Заранее спасибо за помощь.


 
Johnmen ©   (2002-02-01 17:31) [1]

Если хочешь без обращения внимания на регистр букв, то только пробежав НД (First...Next...) проверяя значение поля на присутствие в нем подстроки поиска (соотвественно все преобразовав напр. AnsiUpperCase...)


 
Виктор Щербаков ©   (2002-02-01 17:44) [2]

select * from MyTable where (Naim like "%Анальгин%")


 
}{unter ©   (2002-02-01 18:03) [3]

Виктор Щербаков
Ты уверен, что человек в курске как SQL запрос сделать, хоть бы написал, что TQuery нужен !


 
Val ©   (2002-02-01 18:54) [4]

>}{unter © (01.02.02 18:03)
Виктор Щербаков © дал человеку направление, в котором работать - он не обязан писать готовый код


 
yaJohn ©   (2002-02-01 19:22) [5]

S ТТаble, bez ispolzovania OnFilterRecord - nikak. Mojno poprobovat" soptimizirovat" sravnenie strok, no silno bistree pos(substr,str) vriadli viydet.
Vihod - kak skazal Виктор Щербаков.
Ya v svoe vremia stolknulsia s takoy problemoy. I where (Naim like "%Анальгин%") ne prohodilo, poskolku filtr chasto menialsia.
Togda ya delal tak: Vibiral vse zapisi iz Table1 v 2 RxMemoryData (ili kak ee, tochno ne pomnu). V odnu s Analginom - v druguu bez. Konechno, dolgo. No odin raz. Potom pri smene filtra probegal po oboim i perebrasival "Analgini" po neobhodimosti iz odnogo v drugoy. No mne nujen bil tol"ko prosmotr.... I ne elegantno :(((


 
Siberia   (2002-02-01 19:37) [6]

Да все правильно, только еще такой момент, когда ищещь по частичному совпадению надо обе части приводить к одному регистру:
str:="select * from tab1 where (Upper(Naim) LIKE "%"+ AnsiUpperCase("Анальгин") +"%");




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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
1-90603
VID
2002-02-12 17:53
2002.02.28
Определение полного имени процесса


3-90473
sal
2002-02-02 01:29
2002.02.28
разделить connect к БД между приложением и dll


14-90640
Knight
2002-01-12 13:22
2002.02.28
Глюки Винды не толькоменя наверное достали но и остальных пользователей Вин98...


1-90535
Андрей Сенченко
2002-02-11 09:41
2002.02.28
StringGrid.Options в Runtime


3-90489
Алехано
2002-01-22 09:57
2002.02.28
Запрос к запросу с параметром