使用 Delphi XE,我正在尝试对 TClientDataSet 进行一些过滤,但我无法让不区分大小写的过滤与 LIKE 运算符一起正常工作
考虑这个进行过滤的代码
cdsDocs.DisableControls;
try
cdsDocs.Filtered := False;
cdsDocs.FilterOptions := [foCaseInsensitive];
cdsDocs.Filter := 'Product LIKE ''%' + txtFilter.Text + '%''';
cdsDocs.Filtered := True;
finally
cdsDocs.EnableControls;
end;
并认为该数据集的 Product 字段仅包含值“b”和“B”。
- 当(txtFilter.Text ='b')我只得到'b'(我期待'b's和'B's)
- 当(txtFilter.Text ='B')我只得到'B'(同样,我期待'b's和'B's)
好像 LIKE '%b%' 和 foCaseInsensitive 不能一起工作?我应该怎么做才能让它工作?我阅读了文档,但找不到我的错误(如果有的话)。TIA。