让我们看看抽象数据库 (JDBC) 的命令列表
rs.moveToInsertRow();
rs.updateString(1, "AINSWORTH");
rs.updateInt(2,35);
rs.updateBoolean(3, true);
rs.insertRow();
好的,在那之后,我期望
rs.getRow(); //Retrieves the current row number.
返回该行的新行 ID,但我得到了 null。
阅读文档:
插入行后,ResultSet 仍然指向插入行。但是,一旦插入行,您无法确定如果您尝试访问它会发生什么。因此,您应该在插入新行后将 ResultSet 移动到有效位置。
好的,打电话
rs.moveToCurrentRow();
和问题。如何前进到插入的行并获取 rowId(jdbc 索引,而不是 sql)?我试过了
rs.previous();
但有例外。rs.last() 移动到最后一行(未插入)
请不要建议计算和读取特殊列(ORACLE 的 rowid)。我在stackoverflow上没有找到类似的问题,但找到了类似的标题。我的环境是带有 odbc14.jar 的 java 6 和 oracle 11