迟到了,还想考勤通过,当然会去关闭服务了。<br><br>不同的数据库,语言会不一样,比如你使用SqlServer,通过刷卡考勤,可能这样:<br>create procedure KQ<br>@ID:int --卡号<br>as<br>declare @Time DataTime<br>select @Time=cast(Ltrim(str(datepart(yyyy,getdate)))+'/'+Ltrim(str(datepart(mm,getdate())))+'/'+Ltrim(str(datepart(dd,getdate())))+' 9:00:00' as datetime)<br>--9点上班 找找,可能还有效率更高的方法形成当天考勒时间,没时间细究了<br>if getdate()<=@time then<br>begin<br> if not exists(select * from KQB where ID=@ID and 日期=今天)<br> insert into KQB (签到,日期,签到时间) values (true,今天,getedate())<br> --如果有了,不进行第二次签到,因此什么也不做<br>end<br>else<br>begin<br> --迟到,看你要做什么<br> --至少还应加一条记录,以便知道签到过<br> if not exists(select * from KQB where ID=@ID and 日期=今天)<br> insert into KQB (签到,日期,签到时间) values (false,今天,getedate())<br>end<br><br>注意,“今天”的形成方法参考@time。日期和签到时间都可以使用默认值,从而使上面的语句更精简。