我正在使用FireDAC连接到SQL Server,我有一个带有布尔字段“IsUser”的表。现在我想使用以下代码过滤此表:
Tbl.Filter := 'IsUser = 1';
Tbl.Filtered := True;
将Filtered
设置为True
后,表组件会过滤掉所有记录(我得到一个空数据集),尽管有很多记录与过滤器匹配。
如果我选择SELECT * FROM Table WHERE IsUser = 1
,则会显示所有记录。
当我使用过滤器Tbl.Filter := 'IsUser <> 0'
时,我可以看到与上述SELECT
查询相同的结果集。
有人知道为什么过滤器IsUser <> 0
有效而IsUser = 1
没有?我想将一个大项目切换到FireDAC并使用Tbl.Filter := 'Field = 1'
获得大量代码,所以我希望让这个代码工作。