开发中发现用 clientdataset.filter := aaa like '%江%'; ClientDataset.filtered  := true;
查aaa 字段包含‘江’的列,结果查不出来,上网查资料发现是delphi对汉字的不支持,现在寻求其他的解决方法,望达人给与帮助

解决方案 »

  1.   

    使用delphi2005就不会这样啦,这是delphi的一个老问题了
      

  2.   

    如果你用的是sqlserver,并且数据类型为varchar,就不会出问题,但是如果为nvarchar就出事了
      

  3.   

    ClientDataSet1的OnFilterRecord中写:
    procedure TForm1.ClientDataSet1FilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    begin
      Accept := Pos(Edit1.Text, DataSet['FieldName']) > 0;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Edit1.Text := '江';
      ClientDataSet1.Filtered := true;
    end;