加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 使用LIKE语句进行过滤

发布时间:2020-12-15 04:35:10 所属栏目:大数据 来源:网络整理
导读:我使用此代码来过滤我的表格: Table.Filtered := False;Table.Filter := '[' + Field_Search + '] LIKE ''%' + Edit_Search.Text + '%''';Table.Filtered := True; 但它引发了这个例外: “Operation not applicable.” 哪里有问题? 解决方法 TTable.Filte
我使用此代码来过滤我的表格:
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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读