![]() |
|
|
#1
|
|||
|
|||
|
Как организовать поиск по 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 ? |