我在delphi程序中拼了一个SQL语句如下:
INSERT INTO tb_a(CKDH,ggxh) 
VALUES('5034043','17"显示器');
其中ggxh='17"显示器'中带有表示吋的两个双引号。
所以,该SQL语句在执行的时候出错。
但是如果直接拷贝SQL语句,然后在数据库里执行则没有问题。请问,怎样处理才能将表示吋的两个双引号插入到数据库中呢?

解决方案 »

  1.   

    楼上的,谢谢你,但是我没办法试,因为那个ggxh是从别的数据库select弄来的,应该做一下处理才行,但我不知道怎么做处理才能保持原数据
      

  2.   

    用QuotedStr函数即可!!!!
      

  3.   

    SqlV:=QuotedStr(FF);
    'INSERT INTO '+gTTemT+' ('+SQLF+') '+'VALUES ('+SqlV+')'截取部分。
      

  4.   

    不行啊,这个是加单引号的,我的正常数据ggxh='XPB70'就成了"XPB70"了。怎么才能正常数据和双引号数据都能通过呢?
    我的源程序还是都贴出来吧
    insertstr:='';
    valuestr:='';
    addstr(insertstr,valuestr,'GGXH',trim(adoquery4.fieldbyname('ggxh').AsString),1);
    AdoCmd.CommandText:='INSERT INTO TB_WG ('+insertstr+') VALUES('+valuestr+')';
    procedure TForm1.addstr(var str0, str1: string; str2, str3: string;
      tag: integer);
    var
      str:string;
    begin
         if tag=0 then
              str:=str3
         else
              str:=''''+str3+'''';
         if str3<>'' then
         begin
              if str0='' then
              begin
                   str0:=str2;
                   str1:=str;
              end
              else
              begin
                   str0:=str0+','+str2;
                   str1:=str1+','+str;
              end;
         end;
    end;
      

  5.   

    Delphi里:
    SqlStr:='INSERT INTO tb_a(CKDH,ggxh) VALUES(''5034043'',''17''''显示器'')'或者SqlStr:='INSERT INTO tb_a(CKDH,ggxh) VALUES(''5034043'',''17"显示器'')'
      

  6.   

    要么你用全角的双引号,联合QuotedStr。
      

  7.   

    INSERT INTO tb_a(CKDH,ggxh) 
    VALUES('5034043','17''显示器''');
      

  8.   

    最简单的方法,用到单引号的地方都用Quotedstr函数,就不会搞错了,不然算引号都让你头疼`~
    var SqlStr :string;with Adoquery1 DO
    BEGIN
      close;
      sql.clear;
      SqlStr:='INSERT INTO tb_a(CKDH,ggxh) VALUES( '
               +Quotedstr('5034043')+','
               +Quotedstr('17"显示器');  sql.add(SqlStr);
      open;
    END;
      

  9.   

    直接写到pl/sql中,然后点诱奸,copy as delphi,ok
      

  10.   

    我来晚了,但是可能都有问题,应该这样:SQLStr := Format('INSERT INTO tb_a(CKDH,ggxh) VALUES(''%s'',''%s'')', ['5034043', '17"显示器']);