2010年10月11日

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

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

          1rs = 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 閱讀(1730) | 評論 (0)編輯 收藏


          僅列出標題  

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

          Copyright © Elvin Lee

          主站蜘蛛池模板: 青浦区| 汕尾市| 腾冲县| 股票| 广汉市| 朔州市| 合江县| 墨竹工卡县| 德庆县| 瑞昌市| 蒙阴县| 蓝山县| 陆川县| 沅江市| 元江| 奈曼旗| 榆社县| 游戏| 都匀市| 北流市| 五台县| 泸西县| 吴江市| 教育| 孝感市| 固原市| 桂东县| 马公市| 嵊州市| 武山县| 郴州市| 东乡| 朝阳市| 罗定市| 收藏| 宁河县| 锡林郭勒盟| 广饶县| 远安县| 湘阴县| 赤壁市|