JDBC插入Oracle数据库有主键的X表记录时,获取此记录的主键ID。
2013-02-18 19:23
519 查看
JDBC插入Oracle数据库有主键表的记录时,返回此记录的主键ID问题:
无效的列类型: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor
解决方法:
无效的列类型: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor
解决方法:
public int addAudit(Audit audit) throws Exception { conn = DBHelper.getConn(); String sql = "insert into SAFE_AUDIT values (sequence_audit.nextval,?,?,?,?,?,?,?,?,?)"; ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); ps.setString(1, audit.getAudit_number()); ps.setString(2, audit.getAudit_step()); ps.setString(3, audit.getAudit_agent()); ps.setString(4, audit.getAudit_dn()); ps.setString(5, audit.getAudit_content()); ps.setString(6, audit.getAudit_md5()); ps.setString(7, audit.getAudit_doing()); ps.setString(8, audit.getAudit_base()); ps.setString(9, audit.getAudit_date()); ps.executeUpdate(); ResultSet res = ps.getGeneratedKeys(); res.next(); String rowid= res.getString(1);//获得rowid PreparedStatement ps1 = conn.prepareStatement("select t.audit_id from SAFE_AUDIT t where rowid = ?"); ps1.setString(1, rowid); ResultSet rest2 = ps1.executeQuery(); rest2.next(); int audit_id=Integer.parseInt(rest2.getString(1)); DBHelper.closeResouce(ps, conn); return audit_id; }
相关文章推荐
- JDBC( 八) 获取插入记录的主键。
- 在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID
- (转)利用JDBC获取新插入记录id的三种方法
- JDBC:元数据 && 获取插入记录的主键值 && _JDBC_处理 Blob
- MySql获取插入记录自增主键ID值
- JDBC获取新插入记录id的三种方法
- JDBC获取新插入记录id的三种方法
- 利用JDBC获取新插入记录id的三种方法
- 数据库中插入一条记录后获取主键id
- 初学JDBC,获取插入记录的主键、执行批量操作
- 初学JDBC,获取插入记录的主键、执行批量操作
- VC++获取SQLSERVER 2008插入记录后的自增主键ID
- jdbc插入一条记录后,马上获取到当前记录的id,以方便对插入的当前记录进行更多的操作
- 在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID
- JDBC 获取被插入数据的主键ID值
- JDBC_获取插入记录的主键值
- JDBC_获取插入记录的主键值(基于MySQL数据库)
- ASP.NET Tips: 获取插入记录的ID
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
- JSP中如何获取刚插入记录的ID,此Id是自增的