Suppose you have a table (test) with 4 fields (firstName,lastName,address,job), the
following is an example you might be able to use:
procedure TForm1.btnSearchClick(Sender: TObject);
var
sTemp,newSQL:string;
begin
newSQL:='SELECT * FROM test ';
if length(trim(edit1.text))>0 then
sTemp:='AND (firstName like ''%'+edit1.Text+'%'') ';
if length(trim(edit2.text))>0 then
sTemp:=sTemp+'AND (lastName like ''%'+edit2.Text+'%'') ';
if length(trim(edit3.text))>0 then
sTemp:=sTemp+'AND (address like ''%'+edit3.Text+'%'') ';
if length(trim(edit4.text))>0 then
sTemp:=sTemp+'AND (job like ''%'+edit4.Text+'%'')';
sTemp:=trim(sTemp);
if copy(sTemp,1,3)='AND' then
sTemp:=copy(sTemp,4,length(sTemp)-3);
sTemp:=trim(sTemp);
if length(sTemp)>0 then
sTemp:='WHERE '+sTemp;
newSQL:=newSQL+sTemp;
showMessage(newSQL); // check the SQL statement before passing to ADO component
end;
Happy Programming!