最近做了一个小程序,是给客户试用的,需要加各种限制,我就又检查了一边,发现之前写的程序太复杂了点,想到了另外一种方法,将限制直接写在必须的存储过程中,程序做起来就轻松很多,不用作太多的获取和比较
下面用时间获取比较来进行限制示例,代码如下:
<span style="font-size:18px;"> DECLARE @STR VARCHAR(255)
DECLARE @TIME DATETIME
SELECT TOP 1 @TIME =CDT FROM TFlowRecord ORDER BY CDT ASC
IF DATEDIFF (day,@TIME,GETDATE()) >= 30
BEGIN
SET @STR= '软件试用期限已过,请联系系统工程师'
END</span>
<span style="font-size:18px;">
SELECT @STR
SELECT DATEDIFF (day,@TIME,GETDATE())</span>
上面的限制是授权使用一个月,即30天,可以根据实际情况进行调整。
时间比较函数DATEIFF(UNIT,START_TIME,END_TIME)函数我是这么理解的:
UNIT是比较单位,可以使day,week,month,year,还可以是minite,second
START_TIME是起始时间
END_TIME是期末时间
函数返回两个时间的unit差值,类型为int,不过当单位设置的越小的时候,如unit设置为second的时候,越容易出现溢出,在这里需要留意一下
时间获取函数很是常用
GETDATE()
此处不赘述了~
差不多就是这样吧~