Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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
将ASP.NET重复记录插入数据库_Asp.net_Sql Server_Webforms - Fatal编程技术网

将ASP.NET重复记录插入数据库

将ASP.NET重复记录插入数据库,asp.net,sql-server,webforms,Asp.net,Sql Server,Webforms,我们有一个调查web应用程序,在用户完成调查后随机插入重复的调查记录 我试图通过重定向到confirmation.aspx页面来解决这个问题,因此当用户点击F5时,调查页面不会被重新发布。那次修理成功了 然而,我们注意到重复记录仍在出现,有时间隔20分钟,有时间隔1分钟 如果单击“上一步”按钮,确认页面将不允许用户返回,因此它将只返回确认页面 以下是重复记录的示例: CustomerSurveyID CustURL SurveyType SentDate SubscriberID

我们有一个调查web应用程序,在用户完成调查后随机插入重复的调查记录

我试图通过重定向到confirmation.aspx页面来解决这个问题,因此当用户点击F5时,调查页面不会被重新发布。那次修理成功了

然而,我们注意到重复记录仍在出现,有时间隔20分钟,有时间隔1分钟

如果单击“上一步”按钮,确认页面将不允许用户返回,因此它将只返回确认页面

以下是重复记录的示例:

CustomerSurveyID    CustURL SurveyType  SentDate    SubscriberID    ResponseDate    CustomerID
2665    http://survey.xxx.com/ConsumerSurvey.aspx?17157&281600783&2&2014-05-27T00:00:00 2   2014-05-27 00:00:00.000 17157   2014-05-29 16:36:41.787 281600783
2666    http://survey.xxx.com/ConsumerSurvey.aspx?17157&281600783&2&2014-05-27T00:00:00 2   2014-05-27 00:00:00.000 17157   2014-05-29 16:37:08.027 281600783

我们不知道最终用户可能在做什么,以使这些副本被插入到数据库中。有可能发生这种情况的原因吗?

我猜用户正在单击“上一步”按钮并再次插入记录,这就是为什么您可能会得到重复记录的原因

我的建议是:-

1) 用户插入记录后,将所有控件值重置为空,这样,如果他/她再次尝试单击“插入”按钮,就可以避免重复输入。
2) 在加载事件页面上调用一个reset()函数,该函数将所有控件的值重置为默认值

我猜测的是,用户正在单击“上一步”按钮并再次插入记录,这就是为什么您可能会得到重复记录的原因

我的建议是:-

1) 用户插入记录后,将所有控件值重置为空,这样,如果他/她再次尝试单击“插入”按钮,就可以避免重复输入。
2) 在加载事件页面上调用一个reset()函数,该函数将所有控件的值重置为默认值

我猜测的是,用户正在单击“上一步”按钮并再次插入记录,这就是为什么您可能会得到重复记录的原因

我的建议是:-

1) 用户插入记录后,将所有控件值重置为空,这样,如果他/她再次尝试单击“插入”按钮,就可以避免重复输入。
2) 在加载事件页面上调用一个reset()函数,该函数将所有控件的值重置为默认值

我猜测的是,用户正在单击“上一步”按钮并再次插入记录,这就是为什么您可能会得到重复记录的原因

我的建议是:-

1) 用户插入记录后,将所有控件值重置为空,这样,如果他/她再次尝试单击“插入”按钮,就可以避免重复输入。 2) 在加载事件页面上调用一个reset()函数,该函数将所有控件的值重置为默认值

40爱 我会指导你阅读这篇优秀的文章。正如您将看到的,有几个选项可以解决您的问题。这里讨论了所有的解决方案。我建议使用两个

Response.Redirect(Request.Url.ToString(), false) 
和Sql异常来捕获重复项。这可能需要更改数据库

爱 我会指导你阅读这篇优秀的文章。正如您将看到的,有几个选项可以解决您的问题。这里讨论了所有的解决方案。我建议使用两个

Response.Redirect(Request.Url.ToString(), false) 
和Sql异常来捕获重复项。这可能需要更改数据库

爱 我会指导你阅读这篇优秀的文章。正如您将看到的,有几个选项可以解决您的问题。这里讨论了所有的解决方案。我建议使用两个

Response.Redirect(Request.Url.ToString(), false) 
和Sql异常来捕获重复项。这可能需要更改数据库

爱 我会指导你阅读这篇优秀的文章。正如您将看到的,有几个选项可以解决您的问题。这里讨论了所有的解决方案。我建议使用两个

Response.Redirect(Request.Url.ToString(), false) 
和Sql异常来捕获重复项。这可能需要更改数据库


如果您提供代码来显示数据何时插入到流中的数据库中,这将有所帮助。在没有看到您的代码的情况下,我将假设您需要停留在同一页面上,而不是在表单提交时重定向到确认页面或类似性质的页面。重定向将是最简单的解决方案。如果不可能,请确保插入数据的代码位于检查页面是否第一次呈现的块中

if(!isPostback())
{
    /*Database Handling Code Here*/
}

如果您提供代码来显示数据何时插入到流中的数据库中,这会有所帮助。在没有看到您的代码的情况下,我将假设您需要停留在同一页面上,而不是在表单提交时重定向到确认页面或类似性质的页面。重定向将是最简单的解决方案。如果不可能,请确保插入数据的代码位于检查页面是否第一次呈现的块中

if(!isPostback())
{
    /*Database Handling Code Here*/
}

如果您提供代码来显示数据何时插入到流中的数据库中,这会有所帮助。在没有看到您的代码的情况下,我将假设您需要停留在同一页面上,而不是在表单提交时重定向到确认页面或类似性质的页面。重定向将是最简单的解决方案。如果不可能,请确保插入数据的代码位于检查页面是否第一次呈现的块中

if(!isPostback())
{
    /*Database Handling Code Here*/
}

如果您提供代码来显示数据何时插入到流中的数据库中,这会有所帮助。在没有看到您的代码的情况下,我将假设您需要停留在同一页面上,而不是在表单提交时重定向到确认页面或类似性质的页面。重定向将是最简单的解决方案。如果不可能,请确保插入数据的代码位于检查页面是否第一次呈现的块中

if(!isPostback())
{
    /*Database Handling Code Here*/
}

问题是他们同时打开了两个浏览器窗口,他们在两个不同的窗口上点击Finish按钮,因此插入了两次

在本例中,Response.Redirect无效

本例中的解决方案是在正在更新的表中创建唯一索引