-1

我正在用 C# 做一个项目,将两个或多个数字相加并将结果存储在数据库中,实际上是将不同主题论文的分数加在一起,然后将结果存储在数据库中。有什么方法可以让用户在第一次输入标记后 5 分钟内更新或编辑结果。5 分钟后,用户将无法对其进行任何更改。

我想知道有没有办法实现这个功能?如果是,那么如何在 C# 应用程序或 SQL 数据库中实现它?我正在通过文本字段进行输入。任何好的教程或程序以及如何做的任何想法都会有很大的帮助。

4

2 回答 2

1

将修改后的日期存储在数据库中。

  1. 在构建表单进行编辑时,如果修改日期早于当前日期+到期时间,则呈现页面的只读版本
  2. 用户提交时,如果修改日期早于当前日期+过期时间,则输出错误。

做#2,或#1 & #2,但不要只做#1。

于 2013-08-14T21:59:09.940 回答
1

有几个选项都涉及将时间戳与标记一起存储:

  • 使用数据库触发器检查存储时间戳的差异是否大于 5 分钟并停止更新
  • 使用您从应用程序调用的存储过程来更新检查时差并拒绝更新的数据
  • 完全在您的 C# 应用程序中执行逻辑(加载时间戳,检查时差,如果太大则不要更新)。

哪个最好取决于您使用的数据库,您的设置是什么样的,您有多少经验等等 - 基本上是您的业务需求。

编辑:如果您想使用触发器来执行此操作,请查看此 codeproject文章。它是关于 SqlServer 2000/2005 但仍应适用于 2008 年。INSTEAD OF如果违反了 5 分钟约束,则基本上使用触发器进行更新和回滚,否则发出更新。

于 2013-08-14T22:04:12.803 回答