2010年10月11日

          如果說是"判斷結果集里有沒有值" 那么用if(rs.next)

          while是用來做循環輸出的 換句話說 就是"如果結果集里還有值" 沒有則停止循環 這個一般在JSP做顯示用

          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();
                      }
                  //}
              }

          說的簡單的話就是
          while(rs.next()) //就是 將rs全部進行讀取
          if(rs.next()) //rs進行讀取一次 判斷是否有數據

          posted @ 2010-10-11 16:36 Elvin Lee 閱讀(1732) | 評論 (0)編輯 收藏


          僅列出標題  

          posts - 1, comments - 0, trackbacks - 0, articles - 0

          Copyright © Elvin Lee

          主站蜘蛛池模板: 申扎县| 南宁市| 搜索| 宜都市| 宁陕县| 陆良县| 林西县| 布尔津县| 禹州市| 绥芬河市| 太康县| 韩城市| 安塞县| 航空| 吉木萨尔县| 县级市| 日土县| 盐津县| 万盛区| 孟州市| 荆门市| 新建县| 博客| 金塔县| 安化县| 大安市| 木里| 宁明县| 奈曼旗| 会理县| 鄂尔多斯市| 承德县| 益阳市| 丁青县| 双城市| 尚志市| 寿光市| 承德县| 丰县| 朝阳区| 吴江市|