导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

再次发问,数据自动更新问题!!有点难度!!!!

jueduiweiyi 2003-12-09 01:11:16
继昨天问的那个同步更新,已经有两位大哥帮我解答了。但是我想了下,对于我这个系统,
还是不怎么完善,我现在把数据表结构改成如下形式:
*************************************************************
--paydate:支付日期; effecttime:已过期(天);permuch:支付款额(RMB)
--effectday:总有效期(天); effectdate:有效期至
----------------------------------------------------------------------------
ID username paydate effecttime permuch effectday effectdate
----------------------------------------------------------------------------
1 aaa 2003-11-6 34 6000 60 2004-1-5
2 bbb 2003-11-9 30 3000 30 2003-12-9
3 ccc 2003-11-8 31 6000 60 2004-1-7
4 ddd 2003-11-8 30 3000 30 2003-12-8
5 eee 2003-11-20 19 6000 60 2004-1-19
6 fff 2003-12-1 8 3000 30 2003-12-31
7 ggg 2003-12-5 4 9000 90 2004-2-4
8 aaa 2003-12-9 0 3000 56 2004-1-8
----------------------------------------------------------------------------
上面permuch字段中,我的收费标准是3000RMB/月。所以上面的几个用户,由于交的费用不一样,大家可以看到,总有效期(effectday)就不一样。我想实现的是:effecttime已过期(天),随着天数增加而增加,一直到effectime和effectday总有效期(天)两个字段中的值相等为止就不再增加。这里还是与前面一样,不能用人工来控制,要让程序自动运行,意思是说,等我明天查看数据库的时候,每个用户的effecttime值就都增加了"1".在这里还要说明的是,最好不要依靠系统时间,那样我只要改动一下系统时间,数据就会乱套还有一种情况,

还有一种情况,大家看最后一条记录,用户名是aaa,由于aaa在2003-11-6交纳的费用还有26天的有效期他在今天又交了3000,有效期限就有30天,那么他的总有效期就是56天。当然这个我可以统计出来。

j9988(j9988)大哥针对昨天我问的,告诉了我一个公式但是,可以实现,我不知道公式其写法和规则是怎么样的,都用到了些什么语法。
...全文
24 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jueduiweiyi 2003-12-09
怎么样让它自动执行,触发器还要指定触发条件!!!
超过有效期后!!!
回复
sky125 2003-12-09
对于“其客户类型就会自动发生变化,由贵宾级降为普通级”,用触发器应该可以实现
回复
luckweb 2003-12-09
如果对于系统时间问题,可以在程序进入时,先出现对话框确认一下当前时间
实在不行,就在某个目录中或注册表中保存一个系统时间
否则你信息录入时,当前时间不对,你如何判段
回复
jueduiweiyi 2003-12-09
怎么没人顶啦
我自己顶
我顶
回复
jueduiweiyi 2003-12-09

对了
我忘了一个很重要的东西了
在上面的表中,还有一个划分用户等级的工作没做
我是想当客户所交费用过了有效期后,其客户类型就会自动发生变化,由贵宾级降为普通级
这个我怎么样去自动让它实现!!!
回复
jueduiweiyi 2003-12-09
谢谢各位的回答
我的上一篇帖子
http://expert.csdn.net/Expert/topic/2542/2542205.xml?temp=.6654779

我一个最关键的是不想要依耐系统时间,因为万一被人改动了系统时间,那数据启不会全部乱套。但是我仔细考虑了一下,好象不依耐系统时间根本行不通,我可以保证得到正确的收费日期(paydate),也可以得到正确的到期日期(effectdate),哎呀,我自己都糊涂了,可能真的我以前的想法是错误的!!!
回复
Coolyu0916 2003-12-09
不明白楼主得意思
如果是每天增加一天那么做一个Job
每天0点用DATEADD函数增加就可以了
至于交费
什么时候加什么时候增加effectdate就行吧
回复
tttt415 2003-12-09
支持。数据库中存放冗余的信息很危险。
回复
victorycyz 2003-12-09
没看到你昨天的贴,不太清楚你的难点在什么地方。
不过,提个意见。你的 effecttime和effectday字段好象不必要。查询是再计算就行了。
回复
jueduiweiyi 2003-12-09
UP都没人
我自己UP
我UP..UP..UP..UP..UP..UP
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告