【发布时间】:2017-07-09 14:16:52
【问题描述】:
我正在使用 MS SQL Server 为多个用户在同一本地网络上工作开发 WPF 应用程序。我想防止用户同时编辑同一条记录。
示例:假设 User1 修改记录号 5,如果 User2 尝试查看或修改记录 5,应用程序将向用户 2 返回警告消息。
有什么想法吗?
提前致谢
【问题讨论】:
-
将其存储在数据库中,然后查找。
-
你怎么知道他在“修改”唱片? MS SQL 自己处理并发控制。不太清楚你为什么要这样做
-
请说出你的想法
-
您应该使用过渡来管理更新过程。因为有时您有多个操作正在运行。这是您的答案的链接。dev.mysql.com/doc/refman/5.7/en/commit.html
-
一种易于实现的常见模式是“乐观并发”。如果您确定对象上有 RowVersion 或 TimeStamp 属性,那么您可以检查 UPDATE 查询是否与 SELECT 完成时不同。如果是这样,您可以在此时警告用户并重新加载新数据或允许他们覆盖上次保存的数据。