一个B/S系统,用户得到所分配的帐号后才可使用.但是帐号都是有时间限制的.比如说guest这个帐号可使用的时间为2008-3-13到2008-5-13号,这样的功能该怎么实现呢?我在数据库表中设计了一个字段(status)来控制帐号的状态,,当status为0时表示帐号已经过了使用期限,当status为1时表示帐号可用,处于有效期内.还有一个结束时间的字段(endtm)
我初步的设想是,每次用户帐号进行登陆时,根据当前的系统时间来和endtm进行比较,当系统时间<endtm时,status为1,当系统时间>endtm时,status为0.当status为1 时,可正常登陆,为时则提示帐号过期.
这样做好像很麻烦,小弟想请问一下各位大虾,有没有别的好方法,比如说不用每次登陆的时候都判断status值,当超出使用期限后,数据库中的status自动变为0,有没有这种方法呢?
在线等!!!!
(注:若客户端系统时间不正确的话,是不是对程序有影响)
我初步的设想是,每次用户帐号进行登陆时,根据当前的系统时间来和endtm进行比较,当系统时间<endtm时,status为1,当系统时间>endtm时,status为0.当status为1 时,可正常登陆,为时则提示帐号过期.
这样做好像很麻烦,小弟想请问一下各位大虾,有没有别的好方法,比如说不用每次登陆的时候都判断status值,当超出使用期限后,数据库中的status自动变为0,有没有这种方法呢?
在线等!!!!
(注:若客户端系统时间不正确的话,是不是对程序有影响)
用datediff(day,起始日期,getdate())来计算天数。if 天数>期限
过期
作业的内容就是UPDATE DB_Name SET status=0 WHERE GETDATE()<endtm
因为此作业在服务器上运行,故与客户端系统时间准确与否无关!