我已经看过这个(和类似的)问题,解释了如何插入和获取生成的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?
以下代码似乎对我有用(到目前为止,我观察到的所有情况):
rs.moveToInsertRow();
rs.updateObject(...)
rs.updateObject(...)
rs.updateObject(...)
...
rs.insertRow();
rs.last();
return rs.getObject("ID");
这是与SQL Server 2012一起使用的,其自动增量为1。
使用其他驱动程序或配置可能不起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句