ResultSet:从插入的行中获取RowId(jdbc中的索引)

时间:2014-12-17 12:07:20

标签: java jdbc resultset rowid

让我们看一下抽象数据库(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。

阅读documnetation:

  

插入行后,ResultSet仍然指向插入行。但是,一旦插入行,您无法确定在尝试访问它时会发生什么。因此,在插入新行后,应将ResultSet移动到有效位置。

好的,请致电

rs.moveToCurrentRow();

问题。如何前进到插入行并获取rowId(jdbc索引,而不是sql)?我试过了

rs.previous();

但是有例外。 rs.last()移动到最后一行(未插入)

请不要建议计算和读取specal列(ORACLE的rowid)。 我没有在stackoverflow上找到类似的问题,但发现了类似的标题。 我的环境是java 6和oracle 11 with odbc14.jar

0 个答案:

没有答案