C# 使用SQL管理服务器上来自多个用户的进程和文件夹选择
如果这个问题听起来模棱两可,我很抱歉,我不知道该怎么说 我有一个Winform应用程序,安装在五台不同的PC上,全部连接在局域网中。在server SQL数据库中,我有一个表,其中包含服务器上文件夹的名称,该表中的一列包含未处理/已处理的标志 我的应用程序首先向用户提供该表中所有未处理文件夹的列表,然后用户选择其中一个文件夹并开始对该文件夹执行处理工作,一旦用户完成,软件会将表中的字段从未处理更改为已处理 我的问题是,该过程可能需要一段时间,如何防止第二个(或更多)用户选择要处理的相同文件夹C# 使用SQL管理服务器上来自多个用户的进程和文件夹选择,c#,sql,C#,Sql,如果这个问题听起来模棱两可,我很抱歉,我不知道该怎么说 我有一个Winform应用程序,安装在五台不同的PC上,全部连接在局域网中。在server SQL数据库中,我有一个表,其中包含服务器上文件夹的名称,该表中的一列包含未处理/已处理的标志 我的应用程序首先向用户提供该表中所有未处理文件夹的列表,然后用户选择其中一个文件夹并开始对该文件夹执行处理工作,一旦用户完成,软件会将表中的字段从未处理更改为已处理 我的问题是,该过程可能需要一段时间,如何防止第二个(或更多)用户选择要处理的相同文件夹 我
我曾想过在标志中有第三个状态=“在进程中”,但是在用户正在处理的断电情况下,这个标志如何重置?
< P>如果你真的想覆盖灾难情况,你可能想考虑实现你的“在进程”。标记,并在winforms应用程序本地有一个文件,用于记录上次操作。e、 g 行更新为in-process=true。 保存到本地配置文件或文本文件-当前操作=处理ID为的行 如果电源故障,让应用程序在启动时检查本地文件-从数据库中检索行并继续 或者存储谁正在对数据库中另一个表上的哪一行执行操作。那么你有一个中央记录可能有一种方法可以锁定sql中的行,并在连接断开时取消锁定,但您必须在上面进行一些谷歌搜索。我已经编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。谢谢,我没有意识到这一点。我目前正在按照您的建议存储从数据库访问该行的“谁”。