|
#1
|
|||
|
|||
Поиск по Like%
Как организовать поиск по 2 полям ??? при поддержка Like
Код:
var help1,help2: string; begin help1:='%'+edit1.text+'%'; help2:=quotedStr(help1); with q1 do begin close; sql.clear; sql.Add('select *from tes where fio like '+help2); open; end; по одному 100% работает !!! |
#2
|
|||
|
|||
а так
'select *from tes where ( fio like '+help2+') and (address like %moskow%)' |
#3
|
|||
|
|||
Код:
begin if (Length(Trim(edit5.text)) = 0) and (Length(Trim(edit6.text)) = 0) then Exit; with DataM.adsQ do begin close; sql.clear; sql.Add('select *from bemor where '); // if (Length(Trim(edit5.text))>0 then sql.Add(' fbem like ' + quotedStr('%'+Trim(edit5.text)+'%') ); // if ((Length(Trim(edit5.text))>0) and (Length(Trim(edit6.text))>0 then sql.Add(' and '); // if (Length(Trim(edit6.text))>0 then sql.Add(' ibem like ' + quotedStr('%'+Trim(edit6.text)+'%') ); open; end; работает без переменных 100% оба полям |
#4
|
|||
|
|||
Возможно АНЕ17 нужно использовать операцию логического ИЛИ, просто она никак не может это выразить по русски?
select *from MYTABLE where field1 like '+help1+' OR field2 like '+help2' Последний раз редактировалось kaakaa, 25.09.2014 в 11:27. |
#5
|
|||
|
|||
Цитата:
Код:
var s,s2:string; begin s:=''; s2:=''; if length(edit1.txt)>0 then s:=' and fam like '+quotedstr(s+'%');//Фамилия if length(edit2.txt)>0 then s2:=' and im like '+quotedstr(s2+'%');//Имя sql.text:=' SELECT * FROM bemor where FAM<> '+quptedstr('')+s+s2; sql.active:=true; end; А насчет ее выражения я уже давно западозрил что она скорей всего не из России и пользуется нечто вроде промта...уж слишком корявый русский язык у её))) "работает без переменных 100% оба полям" я бы так точно никогда не написал =)) Последний раз редактировалось Heneken, 26.09.2014 в 20:33. |
#6
|
|||
|
|||
Цитата:
|
#7
|
|||
|
|||
Да пасибки
помагла а как на счет Delphi XE6 ?? она работает с БД ADS server 11 ?
|