DataSet中的Filter属性能否使用这样的模糊查询Field1 like '00__'?
如果是在SQL语句中表示查询的是以00开头,总共4位的字符串,后两位为任意字符,Filter能否实现相同的功能?如果能应该怎么写?

解决方案 »

  1.   

    要在dataSet的onFilterRecord事件写事件,如:procedure TForm1.ClientDataSet1FilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    begin
      
      if pos('00',Field1) > 0 then
         Accept := true
      else
         Accept := false;
    end;procedure TForm1.button1Click(sender: tobject);
    begin
      clientdataset1.filtered :=false;
      clientdataset1.filtered :=true;
    end;
      

  2.   

    Edit1.Text := '00';
    DataSet1.Filter := 'field1 LIKE ''%' + Edit1.Text + '%'' ';
    DataSet1.Filtered := true;
      

  3.   

    如果数据库是Sql,过虑之前要把所有的单引号换成两个单引号,不然按照楼上的代码测试
    Edit1.Text = 'a 试试。
      

  4.   

    错误:如果数据库是Sql Server 其它的没有试过。