首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止两个用户从sql server访问相同的数据

如何防止两个用户从sql server访问相同的数据
EN

Stack Overflow用户
提问于 2013-10-30 08:30:19
回答 2查看 4.1K关注 0票数 0

我真的不知道防止两个用户从sql服务器访问相同数据的最佳方法是什么。我已经开发了一个win应用程序使用c#,用户点击记录来修改它。当用户单击记录时,会显示一个新表单,其中包含用户可以修改数据的数据。假设我的应用程序运行在两台pc上,两个用户打开相同的记录,然后更新最后将保存在db中的相同数据。

所以我所做的.我创建了一个表并将记录id存储在那个表中,每当任何用户打开数据时,一个记录id都存储在表中,所以下一次,另一个用户无法访问该数据,而是得到正在处理这些记录的消息。这样我的目的就解决了,但我不知道它是正确的还是最好的方法。

所以男人们告诉我如何用最好的方法来处理这种情况。谢谢

EN

Stack Overflow用户

发布于 2013-10-30 08:38:46

增加三列

  1. 版本(时间戳)
  2. 编辑记录的用户的editBy外键
  3. editAt(DateTime)

工作流程

  1. 取得全部记录
  2. 允许使用editBy编辑所有记录为null或editBy == currentUser
  3. 在打开的表单上,exec命令更新记录集@editBy = currentUser,@editAt=getdate(),其中@id=id和@version = currentVersion,并检查受影响的行。如果1记录,那么我们处于编辑模式,如果没有刷新记录。
  4. 保存记录更改字段(editBy,editAt)返回。
  5. 处理版本超时的附加服务器逻辑。例如,不超过30分钟。
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19677257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档