Delphi - 如何为包含子字符串的字符串过滤 ADOTable

Delphi - How to filter a ADOTable for strings that contain a substring

菜鸟在这里。这个问题再次说明了一切,:).

我有一个连接到 dbgrid 和 .mdb 文件的 ADOTable。我想为包含另一个子字符串的字符串的所有实例过滤我的 table 字段“OwnerName”,并将它们显示在 dbGrid 上。每条记录都有这个字符串字段“OwnerName”。我该怎么做?

例如: 子字符串:'J' 字符串:'Jannie'、Johanna、Ko-Ja 等..

如果可能的话,我还希望能够过滤不仅以那个确切的 wubstring 开头,而且在后面也包含它的字符串,就像我的愚蠢示例:Ko-Ja。

此致!!!

您只需设置两个属性:Filter 和 Filtered。第一个设置过滤条件(类似于SQL),第二个是布尔值,说明是否应用过滤器。

示例:

YourADOTable.Filter := 'OwnerName LIKE ''%J%''';
YourADOTable.Filtered := True;

'%J%' 中的 %s 表示 'anything'.. 因此您可以通过这种方式过滤 OwnerName 中包含文本 'anything followed by a J and then anything again'.

的记录

应用过滤器后,dbGrid 会自动更新。

您可以在以下位置找到有关过滤器字符串的更多信息: http://docwiki.embarcadero.com/Libraries/Sydney/en/Data.DB.TDataSet.Filter