用JDBC如何拿到自动递增的数据?(Oracle)
我表里的ID字段是自动递增字段
我插入数据用sequence.nextval生成这个ID
我现在想每插入一条记录时,就拿到这个ID
我差API有这么两种方法
PreparedStatement psmcnn.prepareStatement("insert into bbs values(seq.nextval,?,?)",Statement.RETURN_GENERATED_KEYS );......psm.executeUpdate();ResultSet rs = psm.getGeneratedKeys();//获取自动递增字段的结果集rs.next(); int id = rs.getInt(1) //获取seq.nextval的值public Integer getId() throws Exception{ Connection conn=null; PreparedStatement pstm=null; ResultSet rs=null; try{ conn=JdbcUtil.getConnection(); String sql="select seq.nextval from dual"; pstm=conn.prepareStatement(sql); rs=pstm.executeQuery(); Integer id=null; if(rs.next()){ id=rs.getInt(1); } return id; }finally{ if(rs!=null) try{ rs.close(); } catch(Exception e){} if(pstm!=null) try{ stm.close(); } catch(Exception e){} if(conn!=null) try{ conn.close(); } catch(Exception e){} } }
[解决办法]
不好意思没仔细看你下面已经写了代码了.
那lz可以参考下我的代码就是我以前在oracle数据库用jdbc写的