隨筆-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 三告習習 閱讀(1602) 評論(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);//第一個字段值就是
          }

          上面的代碼是我重代碼中抽取出來的,所以并不是一個完整的函數,稍修改一下就可以使用了。  回復  更多評論
            
          主站蜘蛛池模板: 麦盖提县| 海伦市| 肃北| 沙坪坝区| 泰安市| 保康县| 东乌珠穆沁旗| 丹江口市| 攀枝花市| 许昌县| 岑溪市| 文昌市| 榆社县| 武隆县| 读书| 巨野县| 海晏县| 勃利县| 黄陵县| 平度市| 随州市| 嘉义市| 镇沅| 安国市| 山西省| 玉环县| 苏州市| 滕州市| 于都县| 依安县| 南召县| 徐州市| 东平县| 丹东市| 海门市| 汉阴县| 昭觉县| 莱西市| 松阳县| 宜良县| 镶黄旗|