StringBuffer sql = new StringBuffer();

for(int i=0;i<listSP.length;i++){
if(listSP.length==i+1){
sql.append("'"+listSP[i]+"'");
}else{
sql.append("'"+listSP[i]+"',");
}
}
sql.append("from spinfo sp where sp.spCode in ("+sql.toString()+")");
这是打印出来的SQL:
from spinfo sp where sp.spCode in ('10159339,10159333')
要怎么样改才能这样:from spinfo sp where sp.spCode in ('10159339','10159333')
急救!!!!!!!!!!!!!!!1

解决方案 »

  1.   

    你的代码好像没错呀。在我这运行就是这个结果:from spinfo sp where sp.spCode in ('10159339','10159333')
      

  2.   

    for(int i=0;i<listSP.length;i++){
    if(listSP.length==i+1){
    sql.append(",'"+listSP[i]+"'");
    }else{
    sql.append(",'"+listSP[i]+"',");
    }
    }String newsql =  "from spinfo sp where sp.spCode in ("+sql.substring(1).toString()+")";
      

  3.   

    改成:for (int i = 0; i < listSP.length; i++) {
    if (listSP.length == i + 1) {
    sql.append("'" + listSP[i] + "'");
    } else {
    sql.append("'" + listSP[i] + "',");
    }
    }