delphi – 使用LIKE语句进行过滤

前端之家收集整理的这篇文章主要介绍了delphi – 使用LIKE语句进行过滤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用此代码来过滤我的表格:
Table.Filtered := False;
Table.Filter := '[' + Field_Search + '] LIKE ''%' + Edit_Search.Text + '%''';
Table.Filtered := True;

但它引发了这个例外:

“Operation not applicable.”

哪里有问题?

解决方法

TTable.Filter不是SQL查询.不支持LIKE(也不支持IN).根据 the documentation,支持的运算符是=,<>,>,<,> =,’< =,AND,NOTandOR` 要进行更复杂的过滤,请使用 TDataSet.OnFilterRecord事件:
procedure TForm1.Table1FilterRecord(Dataset: TDataset; var Accept: Boolean);
begin
  // Don't remember if D7 supports DataSet[FieldName] Syntax; if not,// use DataSet.FieldByName instead,or a persistent field.
  Accept := Pos(Edit_Search.Text,DataSet[SearchField].AsString) > 0;
end;

猜你在找的Delphi相关文章