假如查空出错的话,可以先判断edit是否为空,修改代码:
with self.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' select * from table1 where 1=1');
if Trim(edit1.Text)<>'' then
begin
SQL.Add(' and rake like :a' );
parameters.ParamByName('a').Value:='%'+Trim(edit1.Text)+'%';
end;
if Trim(edit2.Text)<>'' then
begin
SQL.Add(' and name like :b ');
parameters.ParamByName('b').Value:='%'+Trim(edit2.Text)+'%';
end;
if Trim(edit3.Text)<>'' then
begin
SQL.Add(' and product like :c' );
parameters.ParamByName('c').Value:='%'+Trim(edit3.Text)+'%';
end;
Open;
self.ADOQuery1.first;
end;
ADOQuery1要通过ADO连接组件连到数据库里,加个按钮,按钮的单击事件:
with self.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(' select * from table1 where rake like :a and name like :b and product like :c ');
parameters.ParamByName('a').Value:='%'+Trim(edit1.Text)+'%';
parameters.ParamByName('b').Value:='%'+Trim(edit2.Text)+'%';
parameters.ParamByName('c').Value:='%'+Trim(edit3.Text)+'%';
Open;
database.ADO_CLIENT.first;
end;