我正在尝试获取新插入的记录的主键(这是一个标识字段)
代码段如下

jdbcConnection=new JdbcConnection();
connection=jdbcConnection.getJdbcConnection();
psmt=connection.prepareStatement("{call spCopyRecord(?)}",Statement.RETURN_GENERATED_KEYS);
psmt.setInt(1, primarykey);
int status=psmt.executeUpdate();

ResultSet generatedKeys=psmt.getGeneratedKeys();
if(generatedKeys != null &&generatedKeys.next()){
    newKey=generatedKeys.getInt(1);
}


当我尝试执行时,出现异常:


  com.microsoft.sqlserver.jdbc.SQLServerException:生成了用于更新的结果集。
  指向executeUpdate语句。


我正在使用sqljdbc4 jar,SQL版本是SQL Server 2008。
请帮助解决此问题。谢谢。

最佳答案

您正在使用:

int status=psmt.executeUpdate();


这实际上不是正常的Select查询吗?

使用execute()executeQuery()

10-07 21:01