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

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

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


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


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



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


相关文章
|
9月前
|
JavaScript
实时显示当前时间,每秒更新
实时显示当前时间,每秒更新
127 0
|
8月前
|
数据采集 安全 网络安全
为什么要做数据采集的时候时刻更换ip地址呢?
在数据采集时频繁更换IP地址主要是为了灵活性、效率和安全性。动态代理IP能适应不同地域采集,降低成本,避免目标服务器安全规则限制导致效率下降,并提高安全性,防止受到不良信息影响。随着互联网发展,HTTP动态代理IP成为满足网络安全和隐私保护需求的重要工具。
107 0
为什么要做数据采集的时候时刻更换ip地址呢?
|
9月前
|
Linux BI
设置Linux服务器时间为北京时间
设置Linux服务器时间为北京时间
387 1
|
中间件
简单记录服务器耗时
简单记录服务器耗时
87 0
|
Shell 网络安全 Perl
并发从数台机器中获取 hostname,并记录返回信息花费的时长,重定向到一个文件 hostname.txt 中,在全部完成后输出花费时长最短的那台机器的 CPU 信息。
并发从数台机器中获取 hostname,并记录返回信息花费的时长,重定向到一个文件 hostname.txt 中,在全部完成后输出花费时长最短的那台机器的 CPU 信息。
81 0
查出与当前系统时间间隔30分钟前后的数据
查出与当前系统时间间隔30分钟前后的数据
102 0
查出与当前系统时间间隔30分钟前后的数据
|
前端开发 Android开发
如何将时间改为显示:几天前,几小时前,或者几分钟前
http://www.oschina.net/question/657074_89320#tags_nav   如何将时间改为显示:几天前,几小时前,或者几分钟前  如这样的  最后发帖:2011-01-05 12:33 要改成这样怎么实现: 最后发表:  2分钟前 最后发表:  28秒前 最后...
1491 0
有一台机器,并且给你这台机器的工作表,工作表上有n个任务,机器在ti时间执行第i个任务,1秒即可完成1个任务。 有m个询问,每个询问有一个数字q,表示如果在q时间有一个工作表之外的任务请求,请计算何时这个任务才能被执行。 机器总是按照工作表执行,当机器空闲时立即执行工作表之外的任务请求。
Input 输入的第一行包含一个整数T, 表示一共有T组测试数据。 对于每组测试数据: 第一行是两个数字n, m,表示工作表里面有n个任务, 有m个询问; 第二行是n个不同的数字t1, t2, t3....tn,表示机器在ti时间执行第i个任务。 接下来m行,每一行有一个数字q,表示在q时间有一个工作表之外的任务请求。 特别提醒:m个询问之间是无关的。 [Technical Specification] 1. T <= 50 2. 1 <= n, m <= 10^5 3. 1 <= ti <= 2*10^5, 1 <= i <= n 4. 1 <= q <= 2*10^5 Ou
164 0