Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/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# 同时单击按钮,插入重复输入的数据_C#_Jquery_Asp.net_Asp.net Mvc_Dotnetnuke - Fatal编程技术网

C# 同时单击按钮,插入重复输入的数据

C# 同时单击按钮,插入重复输入的数据,c#,jquery,asp.net,asp.net-mvc,dotnetnuke,C#,Jquery,Asp.net,Asp.net Mvc,Dotnetnuke,我创建了一个表单,其中有两种类型的条目可以插入数据,一种是针对注册用户的,另一种是针对未注册数据的 当我在两个不同的浏览器上打开相同的URL并用相同的数据填写表单,然后同时单击两个浏览器上的提交按钮,然后在C代码中,我使用事务来避免歧义,但在这种情况下,两个数据都保存到数据库列中 我尝试了很多东西,在提交之前进行了验证检查,但仍然没有正面反馈 请建议我在这种情况下应该做什么 插入特定用户的数据时,您可以额外检查该用户是否已有数据。仅当不存在记录时插入。您需要将支票和插入合并到同一事务中。否则,同

我创建了一个表单,其中有两种类型的条目可以插入数据,一种是针对注册用户的,另一种是针对未注册数据的

当我在两个不同的浏览器上打开相同的
URL
并用相同的数据填写表单,然后同时单击两个浏览器上的提交按钮,然后在
C
代码中,我使用事务来避免歧义,但在这种情况下,两个数据都保存到数据库列中

我尝试了很多东西,在提交之前进行了验证检查,但仍然没有正面反馈


请建议我在这种情况下应该做什么

插入特定用户的数据时,您可以额外检查该用户是否已有数据。仅当不存在记录时插入。

您需要将支票和插入合并到同一事务中。否则,同时进行的两次检查会从数据库返回OK,然后两次都进行更新,但1次失败。

即使在插入之前更新代码以检查值,也可能在插入之前进行另一次插入。如果您真的想保证数据的完整性,您需要在数据库中创建某种类型的约束,以避免值冲突。这通常是主键,但如果不是,则可以在不允许重复值的列之间创建唯一约束。然后,您只需处理可能由重复值引发的异常。

为什么不在插入前验证数据,是否重复?是的,我需要检查是否存在重复项,然后我不应插入重复项。请查看此主题: