大家帮忙看看这oracle代码错在哪里?
public ArrayList<Product> hclassselect(int currpage,int count)
      {   
      	 ArrayList<Product> list=new ArrayList<Product>();
       	Connection conn=BaseDao.getConn();
      	PreparedStatement  ps=null;
      	ResultSet rs=null;
      	Product  p=null;
      	try {
      		ps = conn.prepareStatement("select * from (select epc_name,epc_class_id,et_type,et_id"+     
      				 "from (select a.epc_name,a.epc_id,b.* from easybuy_pclass a,easybuy_ptype b" +
      				" where a.epc_class_id=b.epc_class_id order by b.et_id))" +
      				"where et_id between"+((currpage-1)*count+1)+"and"+currpage*count);  
      		rs = ps.executeQuery();
      		 while(rs.next())
      		 {
      			 p=new Product();
      			 p.setFid(rs.getInt("epc_class_id"));
      			 p.setFname(rs.getString("epc_name"));
      			 p.setSid(rs.getInt("et_id"));
      			 p.setSname(rs.getString("et_name"));
       			 list.add(p);
      		 }				
			} catch (Exception e) {
				 e.printStackTrace();
			}
			  finally
			  {
				 BaseDao.closeAll(rs, ps, conn);
			  }
      	return list;
      }
   rs总是为null怎么搞的
------解决方案--------------------是不是报异常了,还有你拼的语句是不是少了空格了,造成异常了
------解决方案--------------------Java code
 "where et_id between"+((currpage-1)*count+1)+"and"+currpage*count);