注册 登录
编程论坛 SQL Server论坛

触发器实现?还是......(未解决)

FFEEDD 发布于 2008-01-30 10:20, 2297 次点击
这是我们签到的一些时间段,我现在有一个签到表,里面有迟到状态、早退状态、旷课状态,
我想知道改变这些状态是怎么实现。请高手多多指教,不胜感激。

--------------------------------------------------------------------------------------------------------
比如正常上课时间是6:00-7:00,6:00-6:10为签到时间,6:50-7:00为签退时间。

正常
    凡是在6:00-6:10这个时间段签到 【并且】 在6:50-7:00这个时间段签退 则迟到状态默认未迟到,早退状态默认未早退,旷课默认未旷课。
    【正常不扣分】

迟到(系统默认未迟到):
    迟到是没有签到,并且在6:50-7:00时间段签退了,则迟到状态 变为迟到早退状态默认未早退,旷课状态默认未旷课    【迟到扣5分】

早退(系统默认未早退):
    早退是在6:00-6:10时间段签到了,但没有签退,则早退状态 变为早退迟到状态默认未迟到,旷课状态默认未旷课。    【早退扣5分】

旷课(系统默认未旷课):
    如果没有签到也没有签退,则旷课状态变为旷课早退与迟到状态默认未早退未迟到
    【旷课扣20分】

[[it] 本帖最后由 FFEEDD 于 2008-1-30 16:23 编辑 [/it]]
10 回复
#2
yuxin13822008-01-30 12:44
触发器也可以实现啊,方法是很多的.
#3
西风独自凉2008-01-30 20:15
比較簡單,trigger可實現
#4
FFEEDD2008-01-30 21:02
走路,对于一个大人来说太容易了
但是,对于一个小婴儿来说很困难
我就是这个小婴儿,呵呵
拜托多写几个字给说说,谢谢
#5
FFEEDD2008-01-30 21:12
不知道怎么写,给个思路好么
#6
FFEEDD2008-01-30 21:28
--正常签到、签退用ASP更新签到状态为0以及签退状态为0。

--当签退状态变为0时,(触发器)判断签到状态,如果为1(未签到),则更新迟到状态为0(迟到),更新旷课状态为1(未旷课),早退状态默认。
                                             如果为0(签到),则更新旷课状态为1(未旷课),早退、迟到状态默认。
--如果早上签到了,但是没有签退???怎么去更新早退??

[[it] 本帖最后由 FFEEDD 于 2008-1-30 21:43 编辑 [/it]]
#7
西风独自凉2008-01-31 11:28
建議用procedure
#8
yuxin13822008-01-31 12:42
在触发器中调用存储过程

存储过程可以这样来写
create prc 名称
@shijian date --时间字段
AS
接下去就是判断语句了
例如:
IF @SHIJIAN < 签到时间
#9
doughty2008-01-31 15:46
写考勤系统啊,...........
#10
冰寒2008-02-05 23:14
看出来了
是在写考勤系统
我也写过
不过中控的自带用的数据库太复杂了
还没有写完呢
#11
FFEEDD2008-02-13 18:08
恩。。已经搞定了~~
1