c#考勤设计如何把一次刷卡记录表示为上下班记录

 我来答
syht2000
高粉答主

2014-03-21 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
假定数据库有
id(自增序号)
user(用户名)
am(上午打卡时间)
pm(下午打卡时间)
createtime(默认值getdate(),记录创建时间
这五个字段

当打卡时, 取当前时间至dt.
如果dt为有效的上午或者下午打卡时间,则进行下一步,否则提示不为有效打卡时间。
假定当前用户为curruser

从数据数查询出curruser今天的打卡数据(即createtime距离今天0点不超过24小时),假定如果没有找id为0,找到了id则为对应的记录号。
if dt为有效上午打卡时间
{
如果id=0 则插入数据(插入数据包括user,am)
否则如果id>0,则表示用户今天已经打过卡了

}
else if dt为有效下午时间
{
如果id=0 则插入数据(插入数据user,pm);
否则如果id>0,则查询id对应的数据的pm是否为空值,如果为空则更新id那一条的pm,如果不为空则表示用户下午已经打过卡了。

}
然后去远足
2014-03-21 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2446万
展开全部
一次刷卡怎么能既表示成上班、又表示成下班?那打卡还有啥意义了?

建议判断用户打卡次数。如果是当天第一次打卡,那么就是上班记录;当天第二次打卡,就是下班;当天有三次以上打卡,忽略不记入数据库。过了当天午夜12点(也就是第二天了,或者可以设置为次日凌晨3点啊4点啊),打卡次数清零。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-21
展开全部
你的意思是 刷卡一次 记录里面就显示为 上班跟下班 还是说根据时间显示上班或者下班?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式