参数:pageNumber:0;pageSize:5;
做的一个分页查询数据方法;
为什么执行红色那块就跳异常里边去了,哪里写错了呢,请指出!
[code="java"]
public List allPersons(int pageNumber, int pageSize) {
List list = new ArrayList();
String sql = "select * from person limit ?,?";
PreparedStatement ps = null;
try {
ps = dbp.getConn().prepareStatement(sql);
ps.setInt(1, (pageNumber-1)*pageSize);
ps.setInt(2, pageSize);
[color=red]ResultSet rs = ps.executeQuery();[/color]
while(rs.next()){
Person person = new Person();
person.setPersonId(rs.getInt("personId"));
person.setPersonName(rs.getString("personName"));
person.setPersoninfo(rs.getString("personInfo"));
person.setPersonAge(rs.getInt("personAge"));
list.add(person);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
[/code]

PreparedStatement替换值,执行SQL语句报错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- henghanan 2012-10-23 23:46关注
因为你的pageNumber:0,然后执行 ps.setInt(1, (pageNumber-1)*pageSize);
(pageNumber-1)*pageSize为负数。。。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报