Delphi6从入门到精通里P55上说:字符串中两个上引号''来表示一个上引号
下面给了个例子:s:='Select * from name='''+Edit.Text+'''';
说它等价于select * from name='abc'
是不是写错了,=号后的上引号怎么是3个,不应该是2个吗?还有最后的引号不也该是3个吗?

解决方案 »

  1.   

    if the delphi statement is  : sql.add('Select * from name='''+Edit.Text+'''')  , it is correct ;
    but  if the delphi statement is the : 
      var s:String ;
      s:='Select * from name='''+Edit.Text+'''';
    it is incorrect ; 
      

  2.   

    我一直是这样写的,我感觉读的时候好区分
    sqlstr:='select * from mytable where a='+''''+edit1.text+''''
      

  3.   

    '' = ' 在引号里头作转义
    也可以用quotedStr()函数加上‘’
    如s:='Select * from name='+quotedStr(Edit.Text);
      

  4.   

    s:='Select * from name='''+Edit.Text+'''';
    没错
    s:='Select * from name=''+Edit.Text+''';
    才真是错了!按照你的理解如果是数字,是不是应该是s:='Select * from name=+IntToStr(Edit.Text)+'; ?SQL语句中需要加上引号表示字符串数据,但SQL语句整体是一个字符串,也需要加上引号来界定!