还有一种方法:对数据集进行过滤。如下:
{数据集 TB1 禁用过滤}
TB1.Filtered := False;
{数据集 TB1 的过滤事件}
procedure TFmMain.TB1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
var StrName:String;
begin
StrName := EdtName.Text;{}
Accept := Pos(StrName,DataSet.Fields[0].AsString)>0;
end;
{调用 TB1 的过滤事件实现模糊查询}
procedure TFmMain.BitBtn1Click(Sender: TObject);
begin
if Trim(EdtName.Text)<>'' then TB1.Filtered:=True;
end;
用这种方式进行模糊查询,同样可以实现复合条件查询,在数据集的过滤事件中设置相应条件。