机房重构上下机时间记录问题

简介: 机房重构上下机时间记录问题

在机房重构过程当中,需要有员工上下机记录的问题,就需要在上机记录表中进行数据的操作,一开始是要写入一条上机的记录,但是下机的时间是空的,状态为正在上机,但是如果你下机的话就需要把这条记录给补全,就需要写入下机时间,还有状态改为下机,


当时的问题是如何判断这个上机记录表中的数据是你要找的,可以看到在这个记录中有很多条数据,都是同一个账号的记录。


如果只是通过卡号来判断的话,那么你写入下机时间时其他上机时间对应的下机时间也会被修改,当时自己就是这么来的,就看着数据库入了神,后来经过修改把这个问题解决了,当时的解决办法是通过去数据库拿出你对应卡号的这个记录的上机时间,然后把这个时间和你的卡号作为判断条件,这样只会找到一条数据,修改的也正是这个条数据了,



public List<dynamic> logoutwork(string cardID)
        {
            string sql = "select * from T_WorkLog where CardID=@cardID and Status=@Status";
            SqlParameter[] sqlParameter = { new SqlParameter("@cardID", cardID), new SqlParameter("@Status", "正在上机") };
            DataTable data = SQLHelper.GetDataTable(sql, sqlParameter);
            List<dynamic> list = new List<dynamic>();
            foreach (DataRow row in data.Rows)
            {
                list.Add(new InvariableEntity()
                {
                    logintime = Convert.ToDateTime(row["LoginTime"])
                });
            }
            return list;
        }

这个代码就是D层worklog表的获取上机时间的代码,通过参数的传递,把卡号传进来,然后通过卡号和上机状态去找那条数据,这就是一个比较繁琐的方法,还有一个更简单的办法就是,在写入下机时间的代码中判断就好,方法就是判断条件卡号和上机状态,就能找到那条数据,然后修改就好,我一开始的方法南辕北辙了,走了弯路。第二个方法更加简单,省去了去数据库拿上机时间这个步骤。


相关文章
|
SQL NoSQL 关系型数据库
阿里云学生机2周学习记录
自我介绍:大家好我是来自河南省大四的一名大学生,专业为计算机科学与技术。由于学习项目部署以及linux服务器就想把自己写的项目部署到公网上,之前是直接在本地装的虚拟机做的部署,现在就打算使用阿里云服务器,通过同学了解到阿里云对学生用户有试用以及优惠政策“飞天加速计划·高校学生在家实践”。
阿里云学生机2周学习记录
记录这一刻:开通原创保护功能
很高兴在3月30号 星期四 19:31 收到公众平台使用原创保护功能的邀请! 随后我就提交了申请,并于当晚 23:43 通过审核! 最初 早在2016年3月份我就注册了订阅号,但当时只是注册了看一看,了解一下相关功能,并没有运营它的想法,现在也并不这样想。
893 0
|
10月前
|
数据库
个人日记系统,记录点滴小事,记录生活点点滴滴
个人日记系统,记录点滴小事,记录生活点点滴滴
64 0
|
容器
采坑记录
栈内的变量是默认无初始值的 把如图所示的数组 放入main函数内,就会致错: 原因是:    栈内的变量是默认无初始值的,用memset赋个初始值 memset函数是在头文件#include 中定义的。
1193 0
|
存储 数据安全/隐私保护 iOS开发