我已经看到this(和类似的)问题,解释了如何插入和获取生成的ID。不幸的是,到目前为止我找到的解决方案都没有在我当前的设置中工作。
我的代码目前如下:
rs.moveToInsertRow();
rs.updateObject(...)
rs.updateObject(...)
rs.updateObject(...)
...
rs.insertRow();
所有插入的字段都不包含ID。 ID由数据库生成。在rs.insertRow()之后;我想获得该行的ID。
插入后使用rs.getObject("ID");
给我
com.microsoft.sqlserver.jdbc.SQLServerException: The result set has no current row.
有没有办法使这个工作原样,或者我是否必须重做这个以删除游标并使用带有返回键的INSERT语句?
答案 0 :(得分:1)
以下代码似乎对我有用(在目前为止我观察过的所有情况):
rs.moveToInsertRow();
rs.updateObject(...)
rs.updateObject(...)
rs.updateObject(...)
...
rs.insertRow();
rs.last();
return rs.getObject("ID");
这适用于SQL Server 2012,使用自动增量1.
使用其他驱动程序或配置可能无法正常工作。