Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SQL管理服务器上来自多个用户的进程和文件夹选择_C#_Sql - Fatal编程技术网

C# 使用SQL管理服务器上来自多个用户的进程和文件夹选择

C# 使用SQL管理服务器上来自多个用户的进程和文件夹选择,c#,sql,C#,Sql,如果这个问题听起来模棱两可,我很抱歉,我不知道该怎么说 我有一个Winform应用程序,安装在五台不同的PC上,全部连接在局域网中。在server SQL数据库中,我有一个表,其中包含服务器上文件夹的名称,该表中的一列包含未处理/已处理的标志 我的应用程序首先向用户提供该表中所有未处理文件夹的列表,然后用户选择其中一个文件夹并开始对该文件夹执行处理工作,一旦用户完成,软件会将表中的字段从未处理更改为已处理 我的问题是,该过程可能需要一段时间,如何防止第二个(或更多)用户选择要处理的相同文件夹 我

如果这个问题听起来模棱两可,我很抱歉,我不知道该怎么说

我有一个Winform应用程序,安装在五台不同的PC上,全部连接在局域网中。在server SQL数据库中,我有一个表,其中包含服务器上文件夹的名称,该表中的一列包含未处理/已处理的标志

我的应用程序首先向用户提供该表中所有未处理文件夹的列表,然后用户选择其中一个文件夹并开始对该文件夹执行处理工作,一旦用户完成,软件会将表中的字段从未处理更改为已处理

我的问题是,该过程可能需要一段时间,如何防止第二个(或更多)用户选择要处理的相同文件夹


我曾想过在标志中有第三个状态=“在进程中”,但是在用户正在处理的断电情况下,这个标志如何重置?

< P>如果你真的想覆盖灾难情况,你可能想考虑实现你的“在进程”。标记,并在winforms应用程序本地有一个文件,用于记录上次操作。e、 g

行更新为in-process=true。 保存到本地配置文件或文本文件-当前操作=处理ID为的行

如果电源故障,让应用程序在启动时检查本地文件-从数据库中检索行并继续

或者存储谁正在对数据库中另一个表上的哪一行执行操作。那么你有一个中央记录


可能有一种方法可以锁定sql中的行,并在连接断开时取消锁定,但您必须在上面进行一些谷歌搜索。

我已经编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。谢谢,我没有意识到这一点。我目前正在按照您的建议存储从数据库访问该行的“谁”。