隨筆-35  評論-97  文章-0  trackbacks-0

                 某些時候,你插入一條記錄后要馬上知道剛才插入記錄的id(自增類型),那么下面的方面可以滿足你的要求:

                  Connection conn = ;
                  Serializable ret 
          = null;
                  PreparedStatement state 
          = .;
                  ResultSet rs
          =null;
                  
          try {
                      state.executeUpdate();
                      rs 
          = state.getGeneratedKeys();
                      
          if (rs.next()) {
                          ret 
          = (Serializable) rs.getObject(1);
                      }
                 
                  }
           catch (SQLException e) {
                  }
           
                  
          return ret;

           

           

          posted on 2007-06-29 18:35 三告習習 閱讀(1597) 評論(2)  編輯  收藏 所屬分類: database

          評論:
          # re: [database] 獲取數據庫自增類型生成的主鍵的方法 2007-07-02 09:35 | paul
          看不太明白,可以給分析下么?  回復  更多評論
            
          # re: [database] 獲取數據庫自增類型生成的主鍵的方法 2007-07-02 14:12 | 三告習習
          @paul
          不好意思,或許寫得不是很清楚,下面做一些注釋

          Connection conn = ... //這里是你的數據庫連接
          PreparedStatement state = this.connection.createStatement();//這個可以這樣獲取
          state.executeUpdate();這句執行后,如果你是利用了數據庫生成主鍵的辦法來填充主鍵自動,rs = state.getGeneratedKeys();可用獲取state所產生的主鍵,作為ResultSet的類型返回。
          if (rs.next()) {//如果返回不為empty,那么取第一數據
          ret = (Serializable) rs.getObject(1);//第一個字段值就是
          }

          上面的代碼是我重代碼中抽取出來的,所以并不是一個完整的函數,稍修改一下就可以使用了。  回復  更多評論
            
          主站蜘蛛池模板: 东宁县| 平阴县| 海宁市| 和静县| 桐城市| 西畴县| 平定县| 日照市| 牟定县| 邢台县| 环江| 石河子市| 通化市| 门源| 万源市| 平乐县| 崇义县| 墨脱县| 宁明县| 淄博市| 静海县| 镇雄县| 龙江县| 察雅县| 五常市| 平舆县| 额敏县| 南康市| 沅江市| 雷波县| 铜川市| 体育| 庄河市| 金寨县| 会同县| 芜湖市| 宁明县| 昭平县| 德安县| 修水县| 西藏|