用TClientDataSet的程序中ClientDataSet1.Filter:='name='某某字符串'';
假如某某字符串中含有'号,如ClientDataSet1.Filter:='name='(A'bcd)''时就会出错,谁能解决?

解决方案 »

  1.   

    你看看这样可以吗?
    ClientDataSet1.Filter:='name='+#39+trim(edit1.text)+#39;
    如果不行
    你看看这样
    ClientDataSet1.Filter:='name='''+trim(edit1.text)+'''';     
      

  2.   

    比如:
    ClientDataSet.filter='name=''输液臂''';
      

  3.   

    clientdataset1.Filter:='职位=''123''';
    clientdataset1.Filtered:=true;
    以上操作可以,
    但以下操作好像不可以,不知道为什么,是不是对中文支持不好?
    clientdataset1.Filter:='职位=''总经理''';
    clientdataset1.Filtered:=true;
      

  4.   

    试试 ClientDataSet1.Filter := 'name=' + QuotedStr(edit1.text);
      

  5.   

    转意字符
    delphi中单引号用''表示,好比c中的\'
      

  6.   

    ClientDataSet1.Filter:=format('name=''%s''',['某某字符串']);怎么写都可以。
      

  7.   

    哈哈!我自己已经解决了,和wafeijian(韵杰〖痛并快乐着……〗)说的是一样的,谢谢各位!