比如:CheckNo.CommandText:='select * from bshipper where fname='''+ShipEditFrm.NameEdit.Text+'''';这样写,后面的为什么的要用四个?

解决方案 »

  1.   

    你可以试试这个ShowMessage('');
    ShowMessage('''');
    ShowMessage('''''');
    后面的四个''''就是为了在字符串中加一个'
      

  2.   

    楼上说的对,我也是这样用的 FormatDateTime('"VEH_"YYYYMMDD',now);亲测
      

  3.   


    CheckNo.CommandText := 'select * from bshipper where fname = QuotedStr(ShipEditFrm.NameEdit.Text);
      

  4.   

    字符串需要双引号,而在Delphi中两个连续的单引号就成了一个双引号...的一半
      

  5.   

    CheckNo.CommandText:='select * from bshipper where fname='+quotestr(ShipEditFrm.NameEdit.Text);
      

  6.   

    CheckNo.CommandText:='select * from bshipper where fname='+quotestr(ShipEditFrm.NameEdit.Text);
      

  7.   

    使用bde和ado是不一样的。在bde中双引号用'"'这样来引用,在ado中用'''',这样来引用。
      

  8.   


    接上次回复。你这个应是ado控件的。前面的'select * from bshipper where fname=''',你把字母和等号都去掉,也是''''这个格式的。
      

  9.   

    最好这样写:CheckNo.CommandText:=Format('select * from bshipper where fname=%s',[Quotedstr(ShipEditFrm.NameEdit.Text)]);
      

  10.   

    引号在delphi中是转义字符,一般查询字符串时用quotedstr()  
      

  11.   

    用#39就好了,看起来方便多了
    'select * from bshipper where ss='+#39+'dddd'+#39;