如何在C#/ SQL Server中跟踪重复的日历事件?

时间:2008-12-10 21:39:18

标签: c# database datetime calendar

我想在应用中的日期/时间显示上显示重复事件。此日期时间显示可以采用日历的形式,但它也可以只是即将发生的事件的列表。

处理可以重复的此事件的最佳方法是什么?

例如:事件是否应该在数据库中存储一次并在显示代码中多次投影/重复?该事件应该存储多次,然后才能呈现?

2 个答案:

答案 0 :(得分:3)

之前我做过类似的事情,并且我的架构基于SQL Servers sysschedules表。

http://technet.microsoft.com/en-us/library/ms178644.aspx

上面链接的架构允许您存储作业(事件)的计划。然后,您可以根据计划计算事件发生的日期。这可能是一个冗长的计算,所以我会尝试在某处缓存该结果。

答案 1 :(得分:1)

我认为这取决于事件的类型。它是否像圣诞节一样,一旦它出现并发生在下一次发生之前你真的对它不感兴趣?或者这是一项任务,比如“确保我每个月都给妈妈打电话”,如果它发生了,你错过了它,你会不会想要它消失?

我最近实现后者的一种方法是拥有具有next_occurrence(date),reoccurence_period(每周,每月,每年等)列的记录。因此,当下一个出现时,它将显示在列表中。一旦它通过列表项将有一个循环图标,一旦按下将更新记录到下一个未来发生。

同样,我不确定这是否适用于您的情况,但它对我来说效果很好。