2008-12-10 67 views
7

我想在應用程序的日期/時間顯示中顯示重複事件。此日期時間顯示可以採用日曆的形式,但也可以是即將發生的事件的列表。如何跟蹤C#/ SQL Server中的重複日曆事件?

處理跟蹤可重複發生的事件的最佳方法是什麼?

例如:事件應該在數據庫中存儲一次,並在顯示代碼中投影/重複多次?事件應該存儲多次,然後才呈現?

回答

3

我之前做過類似的事情,並且我的架構脫離了SQL Server sysschedules表。

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

以上鍊接的模式將允許你存儲的日程安排工作(事件)。然後,您可以根據時間表計算事件發生的日期。這可能是一個冗長的計算,所以我會嘗試在某處緩存結果。

1

我認爲這取決於事件類型。它是否像聖誕節一旦出現,並且在下一次出現之前發生,你真的不感興趣?還是像「每個月都要給媽媽打電話」這樣的任務,如果發生了,你錯過了它,你不希望它消失?

我最近實施後者的一種方法是創建一個有next_occurrence(日期),reoccurence_period(每週,每月,每年等)列的記錄。因此,下一次發生的事情會在列表中顯示出來。一旦它通過了列表項目,將有一個回收圖標,一旦按下就會將記錄更新到未來的下一次發生。

再一次,我不確定這是否適用於您的情況,但它對我的工作很好。