我正在做一个插入SQL Server CE表中主键是自动生成的,如何在插入完成后获取主键?在SQL Server CE和C#中获取新插入行的主键?
2
A
回答
7
假设您的主键是标识字段,您可以在插入新行后使用查询SELECT @@IDENTITY
。
-1
你必须小心这样做。你需要做的是在一个事务中设置你的选择:
IDbCommand.CommandText += "; select scope_identity()";
object rtn = cmd.ExecuteScalar();
return (long)(decimal)rtn;
在事务内的单一选择是关键,因为调用select SCOPE_IDENTITY()是不是你插入的主键,这是最近一次插入。所以,你可以结束插入后发生的另一个插入的主键,但在你最近的PK插入请求之前。
注意:scope_identity()可能(可能重复)可能会绑定到IDbCommand,但在过去它不是,并且遵循上述内容是安全的。
-1
相关问题
- 1. 插入行和SQL Server CE
- 2. SQL Server CE插入/更新多行
- 3. 获取最后插入的行主键
- 4. 如何在插入SQL Ce后获得主键对于windows phone
- 5. Sql Server CE外键显示为主键
- 6. SQL Server CE:将行插入表顶部
- 7. 在SQL Server 2005中插入行后的主键值
- 8. 在COMMIT之前在MS SQL中获取插入的主键
- 9. 从插入获取主键
- 10. 插入后获取ID在SQL Server中
- 11. SQL Server CE数据库不会影响插入和更新
- 12. SQL Server Ce:数据集插入和刷新
- 13. 更新不能在SQL Server CE C#
- 14. 如何在SQL Server CE数据库中插入多行?
- 15. SQL Server CE和C#;填充从SQL Server CE数据库
- 16. 使用SQL Server CE中的select和values插入到表中
- 17. 在SQL Server CE中使用自动增量的主键错误
- 18. 如何在Sql Server中插入新行后获取新的身份标识ID?
- 19. SQL Server 2008同步 - 如何用新主键重新插入冲突的pk行
- 20. Sql Server 2005 - 插入更新触发器 - 获取更新,插入行
- 21. SQL Server用新的主键插入表数据脚本
- 22. 在SQL数据库中插入新行无法因为主键
- 23. 插入SQL Server CE数据库
- 24. Sql Server CE插入失败无错
- 25. Sql Server CE 4插入默认值
- 26. 插入行jdbc的主键?
- 27. Mule - 在插入后获取主键
- 28. SQL Server CE 4.0,CodeFirst和GUID键
- 29. 逐行插入到SQL Server CE数据库中
- 30. SQL Server CE的更新表
标识字段而且不要关闭执行INSERT和上面的SELECT之间的连接。 – ErikEJ 2012-07-22 11:05:58
@keith请问我该如何把这个@@身份值在本地可用?在此先感谢 – 2014-02-03 06:48:14