首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理重复发生的日历事件和任务(SQL Server表和C#)

如何处理重复发生的日历事件和任务(SQL Server表和C#)
EN

Stack Overflow用户
提问于 2012-03-09 04:48:01
回答 3查看 1.9K关注 0票数 4

我需要在我的数据库中安排事件,任务,约会等。其中一些将是一次性约会,而另一些则是重复出现的"To-Dos“,必须勾选。在看了google的日历布局和其他内容之后,再加上我在这里做了大量阅读,这就是我到目前为止所拥有的。

日程表(我想可以称为日程表):Basic_Event标题,开始/结束,重复出现的信息。

日历事件表:与日程表、事件特定文本、下一次事件日期/时间有关?

这里介绍了SQL Server是如何完成其工作的:http://technet.microsoft.com/en-us/library/ms178644.aspx,但这略有不同。

为什么有两个表:我需要跟踪重复出现的任务的每个实例的状态。否则这将会简单得多。

所以..。关于这些问题:

1)这看起来是正确的方法吗?有没有更好的方法来处理多次出现的问题?

2)我应该多长时间/多长时间触发创建实例?我真的不想创建一堆事件...但是..。如果用户想要查看下一年的日历...

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-09 04:55:34

将任务的调度定义放在一个表中,然后在一个单独的表中分别记录每个实例,这是很有意义的--这是我过去采取的方法。

关于创建实例,可能没有必要预先创建所有实例。尤其是当你考虑到无限期重复的任务时!同样,我在过去使用的方法是只创建下一个事件。当该实例被操作时,然后计算并创建下一个实例。

这就留下了查看未来事件的问题。为此,您可以从初始/下一个计划的事件开始,并在显示时动态计算未来的事件。

票数 4
EN

Stack Overflow用户

发布于 2012-03-09 04:54:37

虽然这不是您问题的确切答案,但我以前在SQL Server中(尽管这里与数据库无关)通过基于Unix's cron的解决方案建模解决了这个问题。

我们使用表中的整数列来存储各种时间单位,而不是字符串解析。

我们有可以调度的事件;它们既可以指向表示不同时间点(日期/时间)的一次性调度表,也可以指向仿照cron建模的循环调度表。

此外,请记住正确地对您的解决方案进行建模。事件具有持续时间,但持续时间与日程安排无关(但事件的持续时间可能会导致冲突,从而影响日程安排)。不要试图将持续时间建模为您的计划的一部分。

票数 0
EN

Stack Overflow用户

发布于 2012-03-09 04:57:18

在过去,当我们这样做的时候,我们有两个表:

1) Schedule ->包含重复信息

2)对特定实例的异常->编辑/更改

使用SQL,可以获得在给定日期范围内至少有一个实例的“计划”列表。然后,您可以在GUI中展开每个实例所在的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9624699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档