我正在做一個插入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. SQL Server CE:將行插入表頂部
- 4. 從插入獲取主鍵
- 5. 插入後獲取ID在SQL Server中
- 6. 如何在Sql Server中插入新行後獲取新的身份標識ID?
- 7. SQL Server CE和C#;填充從SQL Server CE數據庫
- 8. SQL Server 2008同步 - 如何用新主鍵重新插入衝突的pk行
- 9. Sql Server 2005 - 插入更新觸發器 - 獲取更新,插入行
- 10. SQL Server用新的主鍵插入表數據腳本
- 11. 插入行jdbc的主鍵?
- 12. Sql Server CE插入失敗無錯
- 13. Sql Server CE 4插入默認值
- 14. 插入SQL Server CE數據庫
- 15. 獲取插入值的主鍵
- 16. SQL Server CE中的每個表都必須有主鍵嗎?
- 17. 獲得該行的主鍵插入
- 18. SQL Server:對於一個新加入的行選擇主鍵數
- 19. 使用LinqToDatasets緩慢更新/插入SQL Server CE
- 20. SQL - 插入一行並返回主鍵
- 21. 從SQL插入查詢中獲取新記錄主鍵ID以將相同的值插入另一個表中?
- 22. 如何在asp.net中插入SQL Server CE數據庫
- 23. SQL Server:插入獲取用戶代理
- 24. 導入Excel到SQL Server CE
- 25. postgresql:如何獲取用批量copy_from插入的行的主鍵?
- 26. 在SQL Server CE中使用SqlCEResultSet.Seek和組合鍵
- 27. 基於主鍵的Sql Server CE TableDirect命令
- 28. 獲取主鍵從SQL插入背面使用SQLite
- 29. 使用C#獲取插入行的ID
- 30. 多行插入MS Sql Server使用C#
標識字段而且不要關閉執行INSERT和上面的SELECT之間的連接。 – ErikEJ 2012-07-22 11:05:58
@keith請問我該如何把這個@@身份值在本地可用?在此先感謝 – 2014-02-03 06:48:14