java字符串判断是否含有单引号

java字符串判断是否含有单引号,今天做个医院的的查询单位疾病分析报告问题是,医院的医生要求查询是两个单位的一起查询,所以我写sql时就考虑到了用 in 查询,传值的时候用" , " 分格开..........如" xxxxxx,cccccc  ",  但传过去的时要考虑给xxxxxx 和cccccc  这个两个字符串加单引号,就是变成这样 " 'xxxxxx','cccccc'  "... 

给大家上  个加单引号的方法看看

/*字符串按,分开并都加上''再转换成字符串*/
    
    public static String getString(String s){
    if(s.contains(",")){
    StringBuffer sb=new StringBuffer();
    String[] str=s.split(",");
    for(int i=0;i     if(i!=0){
    sb.append(",");
    }
    sb.append("'").append(str[i]).append("'");
    }
    return sb.toString();
    }
    return "'"+s+"'";
    }


这是action里面加单引号方法

qureyBean.setCom_batch_id(UtilAPI.getString(qureyBean.getCom_batch_id()));



所以第一次去查询的时候是可以查询的,.....   " xxxxxx,cccccc  "变成了  " 'xxxxxx','cccccc'  "

但第二次,加个查询时间  在点查询   之前的" 'xxxxxx','cccccc'  "  就变成了" ''xxxxxx'',''cccccc''  "

就多了单引号   ,就报错了


所以为了避免这个问题  我想到了个简单的方法

//判断是否有单引号问题
        if(qureyBean.getCom_batch_id().indexOf("'") != -1)
        {
        qureyBean.setCom_batch_id(qureyBean.getCom_batch_id());
        }
        else{
        qureyBean.setCom_batch_id(UtilAPI.getString(qureyBean.getCom_batch_id()));
        }


对 就是用   .indexOf("'") != -1      ,,,,就这样问题解决了

你可能感兴趣的:(about,java)