SQLQuery1.SQL.Add(','+QuotedStr('<br>   <span style="font-weight: bold">来电精灵专业版,')); //这个是错误的,原因是有双引号,会报错 SQLQuery1.SQL.Add(','+QuotedStr('<br>   <span style=""font-weight: bold"">来电精灵专业版,')); //这个就正确,能入库,但入库里多了个"双引号  SQLQuery1.SQL.Add(','+QuotedStr('<br>   <span style=font-weight: bold>来电精灵专业版,'));  //这个也正确,但没有了"双引号这个怎么解决啊,入库时一定要是  <br>   <span style="font-weight: bold">来电精灵专业版, 这个字符串,双引号不能变

解决方案 »

  1.   

    SQLQuery1.SQL.Add(','+QuotedStr(' <br>  <span style="font-weight: bold">来电精灵专业版,'));  //這個不應該有錯。請檢查你那邊的代碼中間到底是雙引號,還是兩個單引號SQLQuery1.SQL.Add(','+QuotedStr(' <br>  <span style=''''font-weight: bold''''>来电精灵专业版,'));   // 實再不行,只有這樣了。呵呵
      

  2.   

    下面代码经测试,符合你的要求
    用参数来传  with qrya do
      begin
        Close;
        SQL.Clear;
        SQL.Add('insert into a (name,swx) values (:a, :b)');
        Parameters.ParamByName('a').Value := ' <br>  <span style="font-weight: bold">来电精灵专业版';
        Parameters.ParamByName('b').Value := 'tst';
        ExecSQL;
      end;
      

  3.   


    这样写用到不好封装啊,偶代码是封装到一个函数里面的,然后传入要查询的SQL语句双引号是一定要有的
      

  4.   

    对了,如果这么说的话,那用户传过来的要是有:冒号的话,那不是也要处理,怎么delphi搞得那些麻烦,好吐血
      

  5.   


    procedure InsertA(ASql: string);
    begin
      with qrya do 
      begin 
        Close; 
        ParamCheck := false;
        SQL.Text := ASql;
        ExecSQL; 
      end; 
    end;procedure BtnOkClick(Sender: TObject);
    var
      strSql: string;
    begin
      strSql := 'insert into a (name,swx) values (' 
                + #39 + '<br>  <span style="font-weight: bold">来电精灵专业版' + #39
                + ',' + #39 + 'test' + #39 
                + ')';
      InsertA(strSql);
    end;
      

  6.   

    ParamCheck := false;
    是这个的问题,解决了