这个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