procedure TForm1.FormCreate(Sender: TObject);
var a : Boolean;
begin
   if FileExists(cds.FileName) then
      DeleteFile(cds.FileName);   if not FileExists(cds.FileName) then
      begin
      With cds do begin
        with FieldDefs do
        begin
            Clear;
            with AddFieldDef do begin
                Name := 'one';
                DataType := ftString;
                Size := 20;
            end;
             with AddFieldDef do begin
                Name := 'two';
                DataType := ftInteger;
            end;
        end;
      end;
   end;           //end of if      cds.CreateDataSet;
      cds.Open;
      cds.Edit;
      cds.FieldByName('one').AsString :='wang';
      cds.FieldByName('two').AsInteger := 20;
      cds.Append;
      cds.FieldByName('one').AsString :='mang2';
      cds.FieldByName('two').AsInteger := 12;
      cds.Filter := 'one =' + 'wang';
      cds.Filtered := True;
end;

解决方案 »

  1.   

    没有引号,应该是:
    cds.Filter := 'one =' + '''wang''';
      

  2.   

    这样改确实可以 不过wang前面的三个单引号是什么啊?  不是表示字符串只用一个单银号就可以了吗?如;'wang'  不用写成 '''wang'''
    吧?
      

  3.   

    delphi的语言就是这样的
    字符串是单引号,如果字符串中又有单引号需要用双单引号表示,所以你就看到3个单引号了---------------------------------------------
    第八个男人欢迎你
    http://www.debugman.com
      

  4.   

    cds.Filter := 'one=''wang'' or two =''12''';写成这样也是对的 能够帮我解释下''wang''这个两个单引号又是干嘛的吗?  谢谢