昨天的时候在做JDBC编程,用的是预编译处理。定义了一个变量位置不恰当,运行结果始终有错误。花了变天的时间才发现错误。
public List<Device> getDevice(SplitPage split,String flag){
// String sql=" select * from (select dec.* ,rownum rn from(select * from device order by sn ) dec where rownum<="+(split.getPageSize()*split.getPageNow())+") where rn>="+((split.getPageNow()-1)*split.getPageSize()+1);
List<Device> list=new ArrayList<Device>();
split.setTotalRows(this.getTotal());//the number of the device
if(split.getTotalRows()% split.getPageSize()==0){//the number of the page
split.setPageTotal(split.getTotalRows()/split.getPageSize());
}else{
split.setTotalRows(split.getTotalRows()/split.getPageSize()+1);
}
split.confirmPage(flag);
try {
String sql=" select * from (select dec.* ,rownum rn from(select * from device order by sn ) dec where rownum<="+(split.getPageSize()*split.getPageNow())+") where rn>="+((split.getPageNow()-1)*split.getPageSize()+1);
pstmt=connection.prepareStatement(sql);
rs=pstmt.executeQuery();
list=this.newDevice(rs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}