TQuery组件怎样进行这种Filter?(100分)

  • 主题发起人 主题发起人 touchme_1
  • 开始时间 开始时间
T

touchme_1

Unregistered / Unconfirmed
GUEST, unregistred user!
对TQuery的结果集进行Filter,过滤出某一字段的长度为4的记录.
正常语法是:
Query1.Filter := 'Field = Value';
Query1.Filtered := true;

但query1.Filter:='len(Field)=4';却不行。那么该怎么写?求教。


 
filter没法对len()进行解释,
你可以直接写在sql中吗。
 
filter不可能作到这一点,只能通过SQL语句解决了
 
看来,delphi在这方面比不如PB。
 
太夸张了吧,动不动就拿PB和DELPHI比一比。
其实很简单,写到OnFilterRecord中不就行了吗?
 
driver:怎么写,举个例子好吗?求教。
 
Query1的OnFilterRecord事件这么写

procedure TForm1.Query1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
with DataSet do begin
if Length(FieldByName('XXXX').AsString)=4 then
Accept:=True
else
Accept:=False;
end;
end;
 
是不是Query1.Filtered := true;会调这个事件?求教。
 
接受答案了.
 
后退
顶部