如何使用2个字符串过滤我的DBGrid?

时间:2011-06-13 21:56:13

标签: delphi

dm.atinlog.open;
     target :=  leftStr(postcode,4);
     dm.atinlog.filter   := 'postcode like ' + QuotedStr(target+'%') AND dm.atinlog.filter := 'autorisatie = '  + QuotedStr('klant');
     dm.atinlog.filtered := true;
     dbgrid1.visible := true;

这是我的过滤器代码,但这不起作用。

  

[DCC错误] unPostcode.pas(95):E2010   不兼容的类型:'string'和   '程序,无类型指针或无类型   参数'

给出了此错误。 有什么问题,我需要做些什么才能使它发挥作用? 字符串“klant”取自数据库。 它彼此分开工作。 但是当使用过滤器分开时,只有第二个过滤器可以工作。

请帮忙, 提前致谢

碧玉

2 个答案:

答案 0 :(得分:4)

将代码更改为:

dm.atinlog.open;
target := leftStr(postcode,4);
dm.atinlog.filter := 'postcode like ' + QuotedStr(target+'%') 
                   + 'AND autorisatie = '+ QuotedStr('klant');
dm.atinlog.filtered := true;
dbgrid1.visible := true;

答案 1 :(得分:0)

Johan已就如何修复过滤字符串给出了一个很好的答案。但我想指出,如果可能的话,你应该使用索引和SetRange来代替最佳性能。