oracle插入字符串数据时字符串中有'单引号问题

所属分类: 数据库 / oracle 阅读数: 1865
收藏 0 赞 0 分享

使用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轻松取得建表和索引的DDL语句

Oracle轻松取得建表和索引的DDL语句
收藏 0 赞 0 分享

重新编译PLSQL中的无效对象或者指定的对象 的方法

重新编译PLSQL中的无效对象或者指定的对象 的方法
收藏 0 赞 0 分享

在OracleE数据库的字段上建立索引的方法

在OracleE数据库的字段上建立索引的方法
收藏 0 赞 0 分享

oracle下加密存储过程的方法

oracle下加密存储过程的方法
收藏 0 赞 0 分享

浅谈LogMiner的使用方法

浅谈LogMiner的使用方法
收藏 0 赞 0 分享

oracle 下WITH CHECK OPTION用法

oracle 下WITH CHECK OPTION用法
收藏 0 赞 0 分享

在Oracle中向视图中插入数据的方法

在Oracle中向视图中插入数据的方法
收藏 0 赞 0 分享

DBA_2PC_PENDING 介绍

DBA_2PC_PENDING 介绍
收藏 0 赞 0 分享

在Oracle PL/SQL中游标声明中表名动态变化的方法

在Oracle PL/SQL中游标声明中表名动态变化的方法
收藏 0 赞 0 分享

DB2和 Oracle的并发控制(锁)的比较

DB2和 Oracle的并发控制(锁)的比较
收藏 0 赞 0 分享
查看更多