JDBC中ResultSet接口的一点细节探究

1、rs = stmt.exeQuery(sql)后,rs肯定不会为null,注意,是rs对象不会为null,而不是其包含的result 2、既然rs不会为null,所以在rs = stmt.exeQuery(sql)后,使用while(rs.next())或者if(rs.next())时就不用判断rs != null; 3、rs.next时,游标最先是指向第一条记录前的位置,所以第一次rs.next后,游标指向的正好是第一条记录(如果有的话) 4、要判断rs的结果是否为空,只要使用一次rs.next方法就行了,如果它返回为false,则证明rs的结果为null 所以最终的代码可以写为: public void run() { /** 读取数据库** */ DbTestConn conn = new DbTestConn(); String sql = "select * from mo_info where mo_state = '1'"; ResultSet rs = conn.exeQuery(sql); //while (!isNull) { try { while (rs.next()) { tr.setId(rs.getInt(1)); tr.setUser(rs.getString(2)); tr.setPwd(rs.getString(3)); //isNull = false; } } catch (SQLException e) { //isNull = true; e.printStackTrace(); } //} }

转自:http://www.cdtarena.com/javapx/201303/7939.html

posted @ 2013-03-13 15:21  代码单点  阅读(112)  评论(0)    收藏  举报