Главная страница
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.47 MB
Время: 0.014 c
3-90460
VladimirL
2002-02-01 17:24
2002.02.28
Фильтрация по частичному совпадению


3-90481
al_top
2002-02-04 10:15
2002.02.28
DBGrid


3-90528
DenK_vrtz
2002-02-01 11:01
2002.02.28
Вопросик про фильтры(+)


3-90483
Леша
2002-02-04 05:26
2002.02.28
Подскажите как определить время запроса в MSSQL с точность до миллисекунды


1-90593
boa
2002-02-12 13:05
2002.02.28
Есть проблема при выводе не печать.