以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]请看下这段代码哪儿有问题 为何我执行结果不正确 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59344) |
-- 作者:mxm121 -- 发布时间:2014/11/2 17:48:00 -- [求助]请看下这段代码哪儿有问题 为何我执行结果不正确 在搞客户端单点登录 出现点问题 在afteropenproject里添加如下代码 With Tables("用户登录状态表") \'将新登录用户信息写入 .AddNew .Current("user_ID") = User.Name .Current("computer_ID") = ComputerId .Current("login_time") = Date.Now .Current("refresh_time") = Date.Now .Current("state") = 1 End With Dim drs As List(of DataRow) = DataTables("用户登录状态表").SQLSelect("user_ID = \'" & user.Name & "\'") If drs IsNot Nothing Then For Each dr As DataRow In drs If dr("computer_ID") <> ComputerId Then dr("state") = 0 End If If dr("computer_ID") = ComputerId And dr("login_time") <> Tables("用户登录状态表").Current("login_time") Then dr("state") = 0 End If Next End If 执行红色这段 为什么state列为什么不能置0呢 |
-- 作者:有点甜 -- 发布时间:2014/11/2 17:57:00 -- 不理解你的用意
With Tables("用户登录状态表") \'将新登录用户信息写入
|
-- 作者:mxm121 -- 发布时间:2014/11/2 18:18:00 -- 哦 查找记录里有相同用户名的行,如果机器码和本机不同 直接置state为0 机器码与本机相同的 只要不是本次登录的记录 将state置0 每个客户端会周期性刷新记录 同时查看state 如果是0 则提示在其他地方登录 删除自己的记录 然后退出 还会做个服务器端 查询刷新时间 如果某用户异常退出 不刷新了 就清楚记录
|
-- 作者:mxm121 -- 发布时间:2014/11/2 18:22:00 -- 试了一下 还是不行啊 在代码里加了msgbox显示 dr("state")是0 但是表里刷还是1 |
-- 作者:mxm121 -- 发布时间:2014/11/2 19:06:00 -- 把save加到红色标记的地方才对 不知道为什么会是这样 能解释下修改和存储的过程不 With Tables("用户登录状态表") \'将新登录用户信息写入 .AddNew .Current("user_ID") = User.Name .Current("computer_ID") = ComputerId .Current("login_time") = Date.Now .Current("refresh_time") = Date.Now .Current("state") = 1 End With Dim drs As List(of DataRow) = DataTables("用户登录状态表").SQLSelect("user_ID = \'" & user.Name & "\'") If drs IsNot Nothing Then For Each dr As DataRow In drs dr("state") = 0 If dr("computer_ID") <> ComputerId Then dr("state") = 0 dr.Save() End If If dr("computer_ID") = ComputerId And dr("login_time") <> Tables("用户登录状态表").Current("login_time") Then dr("state") = 0 dr.Save() End If Next End If
|
-- 作者:有点甜 -- 发布时间:2014/11/2 19:06:00 -- Dim drs As List(of DataRow) = DataTables("用户登录状态表").SQLSelect("user_ID = \'" & user.Name & "\'") dr.Save dr.Save
|