高分相求:周期提醒的数据库设计 功能如同OutLook的日历的重复周期定期模式可以选择按天、按周、按月和按年;按天可以设定每隔几天或者每个工作日;每周可以设定每隔几周的星期几提醒;每月可以设定每几个月的第几天或者第几个星期的星期几;每年可以设定第几个月的第几个星期的星期几 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to sundayboysII(空) :请教贵姓?估计不是一个公司,给一些建议吧,如果方便MSN聊聊:[email protected]谢谢 不知道你用什么数据库,如果是MSSQLSERVER用作业来完成周期性操作;可以通过动态的生成SQL语句,来改变作业的属性改变你的作业周期作业周期可设置为很多种,每月,每天,没小时,没分钟等 我现在就作了一个行程、工作计划安排的小软件,主要是给俺mm作的,它可以记事、计划安排、提醒等功能,数据库采用access,不过比较简单表结构:eventsName\years\months\days\times\events\eventstype\TypeTime 事件名称 年 月 天 时间 事件 提醒类别 提醒时间 DelphiBird(爱你等于爱自己) 说得很好。不然你也可以,多设一个字段,在你每次需要查询时只查这个字段里的时间就可以了,这样SQL里的工作量也会小很多,程序会更快的。ID号一定要唯一。这一点很重要的。看你怎么构思了。我做的是用这种笨办法,后来才知道 刚才那位仁兄的好办法,如果你的程序不是很多记录的话,可以用这种笨办法。 SQL语句就不用说了吧! to DelphiBird(爱你等于爱自己):我是要给用户做一个这样的软件,用户自己定义周期提醒,而且允许修改周期提醒。采用作业周期恐怕不行。但是谁知道作业周期的实现机制?to IORILI(眼镜@_@) :你的方法可以实现提醒功能,但是如何纪录周期?期待大家的精彩回答 看看是不是可以利用Windows的计划任务呢?也是很简单的啊。但是我不会,自己做工作量也是不小的。 用戶編號,變動日期,事件編號,事件內容,週期類別(int 0:每天;1:每周;2:每月 ;3:每年),週期標誌(char(7 bytes) 0每天:空;1每周:1101101(星期幾提醒就用1表示);2每月:23(就是每月多少號),3每年:0623(表示每年6月23號提醒)),截止日期(過了此日就不再提醒)提醒完畢日期(提醒窗口出現時,用戶點提醒ok的日子) 作业当然可以修改周期了作业调度的代码 EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'CALLJAYEN', @enabled = 1, @freq_type = 4, @active_start_date = 20031010, @active_start_time = 80000, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 参数是可以动态更改的 高手们,请教关于如何按日期和时间一起查询数据库的问题啊,谢谢 用QReport打印报表时,如何实现两张不同的页,一张横打一张竖打 word文件如何存入和导出数据库 20分求助!请问关于edit的问题! 菜鸟问题,如何把real型变为string型? 编写DLL ,通过访问数据库来验证网站登陆用户名及密码。 程序在任务栏上的名称,如何改变? 50分的问题:ClientDataset的SQL语句如何实现? delphi 7 中封装DLL问题 那位高手请指教如何建立一个临时记录集 求delphi中引号、加号的用法!!! 刚开始学Web编程还没开始就遇到问题
谢谢
如果是MSSQLSERVER
用作业来完成周期性操作;
可以通过动态的生成SQL语句,来改变作业的属性
改变你的作业周期
作业周期可设置为很多种,每月,每天,没小时,没分钟等
它可以记事、计划安排、提醒等功能,数据库采用access,不过比较简单
表结构:eventsName\years\months\days\times\events\eventstype\TypeTime
事件名称 年 月 天 时间 事件 提醒类别 提醒时间
不然你也可以,多设一个字段,在你每次需要查询时只查这个字段里的时间就可以了,这样SQL里的工作量也会小很多,程序会更快的。ID号一定要唯一。这一点很重要的。看你怎么构思了。我做的是用这种笨办法,后来才知道 刚才那位仁兄的好办法,如果你的程序不是很多记录的话,可以用这种笨办法。 SQL语句就不用说了吧!
我是要给用户做一个这样的软件,用户自己定义周期提醒,而且允许修改周期提醒。采用作业周期恐怕不行。但是谁知道作业周期的实现机制?
to IORILI(眼镜@_@) :
你的方法可以实现提醒功能,但是如何纪录周期?
期待大家的精彩回答
但是我不会,自己做工作量也是不小的。
變動日期,
事件編號,
事件內容,
週期類別(int 0:每天;1:每周;2:每月 ;3:每年),
週期標誌(char(7 bytes) 0每天:空;1每周:1101101(星期幾提醒就用1表示);2每月:23(就是每月多少號),3每年:0623(表示每年6月23號提醒)),
截止日期(過了此日就不再提醒)
提醒完畢日期(提醒窗口出現時,用戶點提醒ok的日子)
作业调度的代码 EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'CALLJAYEN', @enabled = 1, @freq_type = 4, @active_start_date = 20031010, @active_start_time = 80000, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 参数是可以动态更改的