把cds文件中的这个text字段的值用stream读出来,然后要么放在memo里,要么就直接在stream里做模糊查询

解决方案 »

  1.   

    我只知道ClientDataSet1.Filter := 'Capital=''L*''';
    这样会查以L开头的字段,另外也可以用ClientDataSet的OnFilterRecord事件
    当Filtered设为True时触发它
    procedure TForm1.ClientDataSet1FilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    begin
      if Pos('Pa', DataSet.['Capital']) > 0 then
        Accept := True
      else
        Accept := False;  
    end;
      

  2.   

    To cobi(我是小新) 把cds文件中的这个text字段的值用stream读出来,然后要么放在memo里,要么就直接在stream里做模糊查询  但是如果是复合查询,你那方法不行了吧?
    例如,象 SQL语句: Select * from table1 where cipai='sss' and text Like '%sss%'
    这样的就查不出来呀(cipai 为char 字段,里面有若干记录为sss;text为text字段)
      

  3.   

    没那么痛苦的事.
    可以在 Cds 中加入 OnFilterRecord事件 然后在 OnFilterRecord事件中写到Accept := AnsiPos( 'yoursubstring', DataSet.FieldByName('memo').AsString) <> 0;然后一样 Filtered := true; 就可以得到结果了
      

  4.   

    呵. 原来 xzgyb(老达摩) 早有正解了, 来迟来迟
      

  5.   

    终于解决了呀~~ 瓦匠泥呀,昨天我给你发了信,但是没收到你回信呢~~今天我用comanche(太可怕)的方法终于解决问题了本来说等你回复的,但是我这几天都没银子上网了~~只好说声sorry了啊~~