PreparedStatement类里 
ps.setString(1,"%"+name+"%");这样可以实现模糊查询
但是数字型的怎么做到
ps.setInt(3,这里加什么)原码这里
           public ArrayList readallcustomer(String name,String id,int sex_id,int building_id,int floor_id,int housenumber_id){
           ArrayList newsList = new ArrayList();
           PreparedStatement ps = null;
           ResultSet rs = null;
           String sql="select * from tb_customer where id like ? and name like ? and sex_id like ? and building_id like ? and int floor_id like ? and floor_id like ? and housenumber_id like ?";
           try{
           ps = con.prepareStatement(sql);
           ps.setString(1,"%"+name+"%");
           ps.setString(2,"%"+id+"%");
           if(sex_id==-1){ps.setInt(3,class_id);}
/*就这里写不出来了,怎么办,大家帮帮我*/
           else
           {ps.setInt(3,class_id);}
           rs = ps.executeQuery();
           while(rs.next())
           {
           Map map = new HashMap();
           map.put("code",rs.getString("code"));
           map.put("id",rs.getString("id"));
           map.put("name",rs.getString("name"));
           map.put("sex_id",rs.getString("sex_id"));
           map.put("building_id",rs.getString("building_id"));
           map.put("floor_id",rs.getString("floor_id"));
           map.put("housenumber_id",rs.getString("housenumber_id"));
           map.put("tel1",rs.getString("tel1"));
           map.put("tel2",rs.getString("tel2"));
           map.put("mobile",rs.getString("mobile"));
           map.put("birthday",rs.getString("birthday"));
           map.put("email",rs.getString("email"));
           newsList.add(map);
           }
           rs.close();
           return newsList;
           }catch(SQLException e){}
           return newsList;
           }
/*读全部用户*/

解决方案 »

  1.   

    打错字了,
    class_id应该是 
    sex_id
    csdn这修改要怎么修改啊
      

  2.   

    其实可能把,
    sex_id building_id floor_id housenumber_id
    实在不行我改成字符型
    不过上头说最好不要改,谁帮帮我
      

  3.   

    Oracle的话ps.setInt(3,这里加什么)改成ps.setString(3, "%" + class_id + "%")也可以的
    其他的话就改一下SQL语句,例如
    and to_char(sex_id) like ?
    然后再用ps.setString(3, "%" + class_id + "%")
      

  4.   

    好,谢谢
    mysql也一样用的吧
      

  5.   

    嗯,好像还有问题,这样1和11难分了,只有把sql语句分段写了