这么写
insert into table1(s1,s2)
values('芝麻是''黑五类','1')  --两个但引号表示一个

insert into table1(s1,s2)
values('芝麻是chr(34)黑五类','1')  --可以用asc码表示,不是34就是39

解决方案 »

  1.   

    insert into table1(s1,s2)
    values('芝麻是''黑五类','1')
      

  2.   

    insert into table1(s1,s2)
    values("芝麻是'黑五类",'1')
      

  3.   

    如果是程序来插入,建议要用Parameter的方式.即
    insert into table1(s1,s2)
    values(:s1,:s2);
    然后对:s1,:s2进行赋值. 采用不同的方式,赋值可能不同.
    这样,任何特殊的字符都不用处理了.
      

  4.   

    insert into table1(s1,s2)
    values('芝麻是'||chr(39)||'黑五类','1');
      

  5.   


      chr(39)  '
      chr(35)  #
      

  6.   

    首选谢谢大家!
    to:penitent(只取一瓢):
    这么写
    insert into table1(s1,s2)
    values('芝麻是''黑五类','1')  --两个但引号表示一个
    我用你这种方法试了一下,发现还是发生同样的错误!是不是因为系统认为两个单引号中间少了个逗号的缘故?!to: mycode(不写代码):
     我试了你的方法,先声明了两个变量(int s1,string s2),然后执行你的语句,但是不行啊。我用的是 .net + c#
      

  7.   

    单引号的插入问题SQL> insert into a values('i''m good');       --两个''可以表示一个'SQL> insert into a values('i'||chr(39)||'m good'); --chr(39)代表字符'SQL> insert into a values('a'||'&'||'b');
      

  8.   

    谢谢大家,问题到现在也算是解决了。现在又出来一个新的问题。
    insert into table1(s1,s2)
    values('芝麻是'黑五类'食品','1')
    这样插入的时候,就会报错:缺少逗号。该怎么解决?谢谢。