1、那么多引号的目的是在SQL语句中将edit1.text的两边加上'号。比如:select * from employee.db where ?='text'
2、QuotedStr可以将一个变量(或者表达式)转化为SQL语句中的字符串,在这里就是在它两边加上单引号
  
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
       

解决方案 »

  1.   

    三个',就是一个'''会留下一个''select * from employee.db where ?='''+edit1.text+''''等号后会传给sql一个分号,后现的四个,前三个也是给sql传一个,最后一个是dephi中用的,和最前面的一个是一组。
      

  2.   

    呵呵
    + 代表字符串相加呀
    QuotedStr(str)是对字符串的引用,它自动在字符串的两端加上字符“'”,对于字符串本身的字符“'”,它会将它变成“''”。
      

  3.   

    对不起,刚没说清楚 。
    三个',就是传一个分号给sql.'select * from employee.db where ?='''+edit1.text+''''等号后的三个分号会传给sql一个分号,后现的四个,前三个也是给sql传一个,最后一个是dephi中用的,和最前面的一个是一组。
      

  4.   

    这里edit1.text本来就是一个字符窜啊!
    'select * from employee.db where ?=''liu'''就可以了
    不能写成
    'select * from employee.db where ?=edit1.text'吗
    不需要有'就是一个字符窜