虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > Oracle数据库 > oracle插入字符串数据时字符串中有'单引号问题

oracle插入字符串数据时字符串中有'单引号问题
类别:Oracle数据库   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了oracle插入字符串数据时字符串中有 单引号问题的相关资料,需要的朋友可以参考下

使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错。

处理方法:判断一下val1,val2中是否含有单引号,若含单引号,则将单引号'替换成两个单引号''。

将字段与字段值组织到一个HashTable中,再抽象出一个组织sql语句的函数getSqlByHashTable():

    HashTable ht =new HashTable();
    ht.add(field1,val1);
    ht.add(field2,val2);
    ht.add(field3,val3);
    。。。public string getSqlByHashTable(string tablename,HashTable ht){
      StringBuilder sb=new StringBuilder();
      sb.append("insert into "+tablename+"(");
      StringBuilder fsb=new StringBuilder();
      StringBuilder vsb=new StringBuilder();
      foreach(var key in ht.Keys)  {
        fsb.append(key+",");
        string value=ht[key];
        if(value.trim()=="")    {
          value="";
        }
        else    {
          if(value.Contains("'"))      {
            value=value.replace("'","''");
          }
          value="'"+value+"'";
        }
        vsb.append(value+",");
      }
      sb.append(fsb.toString().Substring(0,fsb.toString().length-1));
      sb.append(") values(");
      sb.append(vsb.toString().Substring(0,vsb.toString().length-1));
      sb.append(")");
      return sb.toString();
    }

以上所述是小编给大家介绍的oracle插入字符串数据时字符串中有'单引号问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对脚本之家网站的支持!

相关热词搜索: oracle 字符串 单引号