sql求救!!!!!!!!!!!!!!!!!!!!  因为使用了事务处理语句,所以使用adocommand执行sql事务语句将记录写 入数库    
   其中语句是这样的    sql:= 'insert table1 ( name) values (' + chr(39) + edit1.text +
    chr(39) + '  )' ;    name为字符型,chr(39)为单引号,数据库为sql server 2000。   
   问题就是如果用户需要在edit1控件中输入了单引号,例如输入了 a'aa 'a 就会出错,
   
  请问如何可以让用户输入单引号,但执行时又不会出错!!!!
   感 激万分!!!!!!!!!!!

解决方案 »

  1.   

    一种就是用字符转化,
    一种如果有单引号就不要用SQL语句begin
      wtih     do begin
        edit;
        fieldbyname('').as....:=.....
        ......
        ...... 
        post;
      end
    end;
      

  2.   

    判断一下edit中text若有'则添加应分开处理,因为如果有'sql语句肯定会出问题
      

  3.   

    用StringReplace函数将edit1.text 中的单引号全部替换为双引号
      

  4.   


        sql:= 'insert table1 ( name) values (' + QuotedStr(edit1.text)+  ')' ;
      

  5.   

    来晚了, 看DWGZ() 兄的。使用quotedstr() 函数。