数据库课设(一)
2024-10-22 14:42:02 210人阅读
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public List getDeptInfo(){ String sql = "select * from department"; PreparedStatement psmt=null; List list = new ArrayList(); try { psmt = conn.prepareStatement(sql); ResultSet rs = psmt.executeQuery(); Department dept = null; while(rs.next()){ dept.setDeptId(rs.getInt("DeptId")); dept.setDeptName(rs.getString("DeptName")); list.add(dept); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; }
|
做数据库课设,有段逻辑代码是通用的,在好几个了业务中用同样的思路来处理,可是一直报空指针错误!调试也没看出来错误。后来才发现问题出在while(rs.next())
里面。
1 2 3
| 因为每一次循环都要把dept放到list里面,也就是list.add(dept); 所以每次循环开始都要新实例化一个dept,dept = new Department();这样就不会报空指针错误了。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public List getDeptInfo(){ String sql = "select * from department"; PreparedStatement psmt=null; List list = new ArrayList(); try { psmt = conn.prepareStatement(sql); ResultSet rs = psmt.executeQuery(); Department dept; while(rs.next()){ dept = new Department(); dept.setDeptId(rs.getInt("DeptId")); dept.setDeptName(rs.getString("DeptName")); list.add(dept); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; }
|
数据库课设(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。