日期:2014-05-17  浏览次数:20712 次

这个sql怎么拼啊?
如题:
 String[] groupid=request.getParameterValues("selectFlag");
  String gid="";
  if(groupid!=null){
  for(int i=0;i<groupid.length;i++){
  System.out.println(groupid[i]);
  if(i==groupid.length-1){
  gid=gid+groupid[i];
  }else{
  gid=gid+groupid[i]+ " or groupid = "; 
  }
  }
  conditions.put("groupid",gid); 
  }这是我接收的复选框的值,拼接成字符串了,但是拼接sql(select * from table where groupid = ?)语句时这个groupid应该是int类型的,该怎么弄啊

------解决方案--------------------
String[] groupid=request.getParameterValues("selectFlag");
String gid="";
if(groupid!=null){
for(int i=0;i<groupid.length;i++){
gid=gid+groupid[i]+","; 
}
String sql="select * from table where groupid in("+gid.substring(0,gid.length-1)+")";


应该没错! 你试下把 。 全选类的 。。

------解决方案--------------------
"select * from table where groupid = "+gid;
直接连接就好了,类型自动转换
------解决方案--------------------
数值类型不用加‘’
------解决方案--------------------
"select * from table where groupid = '+gid+'" 推荐个高级JAVA技术交流群7319449