代码:
temp_val=Y_reader.GetValue(i).ToString().Replace(((char)34).ToString(),"'||CHR(34)||'");
temp_val=Y_reader.GetValue(i).ToString().Replace(((char)39).ToString(),"'||CHR(39)||'");
temp_val=Y_reader.GetValue(i).ToString().Replace(((char)45).ToString(),"'||CHR(45)||'");
temp_val=Y_reader.GetValue(i).ToString().Replace(((char)47).ToString(),"'||CHR(47)||'"); temp_val=Y_reader.GetValue(i).ToString().Replace("'","''");
这样也不行
运行以后
象这样' ,/ ,- 这样的,插入不了
ORA-01756: 括号内的字符串没有正确结束

解决方案 »

  1.   

    insert into tablename values (',')
    insert into tablename values ('/')
    insert into tablename values ('`')
    insert into tablename values ('-')
    insert into tablename values (''||CHR(39))=='...
      

  2.   

    temp_val=Y_reader.GetValue(i).ToString().Replace(((char)34).ToString(),"'||CHR(34)||'");
    temp_val=Y_reader.GetValue(i).ToString().Replace(((char)39).ToString(),"'||CHR(39)||'");
    temp_val=Y_reader.GetValue(i).ToString().Replace(((char)45).ToString(),"'||CHR(45)||'");
    temp_val=Y_reader.GetValue(i).ToString().Replace(((char)47).ToString(),"'||CHR(47)||'");问题在这里:temp_val每次都只转了一个字符,最后TEMP_VAL就是转了(CHAR)47后的语句。
    应该这样就行了。
    temp_val=Y_reader.GetValue(i).ToString().Replace(((char)34).ToString(),"'||CHR(34)||'");
    temp_val=temp_val.Replace(((char)39).ToString(),"'||CHR(39)||'");
    temp_val=temp_val.Replace(((char)45).ToString(),"'||CHR(45)||'");
    temp_val=temp_val.Replace(((char)47).ToString(),"'||CHR(47)||'");