我正在尝试获取新插入的记录的主键(这是一个标识字段)
代码段如下
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()