插入行后从游标获取生成的ID

Cruncher

我已经看过这个(和类似的)问题,解释了如何插入和获取生成的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语句中使用returnkeys?

Cruncher

以下代码似乎对我有用(到目前为止,我观察到的所有情况):

rs.moveToInsertRow();
rs.updateObject(...)
rs.updateObject(...)
rs.updateObject(...)
...
rs.insertRow();

rs.last();
return rs.getObject("ID");

这是与SQL Server 2012一起使用的,其自动增量为1。

使用其他驱动程序或配置可能不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章