以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  防止多人重复登录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161491)

--  作者:lisangyu
--  发布时间:2021/3/18 23:11:00
--  防止多人重复登录
蓝总:
afteropenproject:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:daima.txt
登录系统, dr("state") 就变成  0,dr("login_time") 应该和dt 相等才对,感觉dt适时在变



[此贴子已经被作者于2021/3/19 10:53:20编辑过]

--  作者:lisangyu
--  发布时间:2021/3/19 10:54:00
--  
谢谢
--  作者:有点蓝
--  发布时间:2021/3/19 11:03:00
--  

With Tables("用户登录状态表")                \'将新登录用户信息写入
    .AddNew
    .Current("Num") = Format(idx,"0000")
    .Current("user_ID") = _UserName
    .Current("computer_ID") = ComputerId
    .Current("login_time") = dt
    .Current("refresh_time") = dt
    .Current("state") = 1
    .Current.save
End With

\'查找登录信息中用户名与登录名相同的记录,将所有不属于本次登录的记录state置0
Dim drs As List(of DataRow)  = DataTables("用户登录状态表").SQLSelect("user_ID = \'" & _userName & "\'")
If drs IsNot Nothing Then
    For Each dr As DataRow In drs
        If dr("login_time") <> dt Then            \'只要登录名相同,登录时间和本次不一样的 全都置0
            dr("state") = 0
            dr.Save()
        End If
    Next
End If

改为

DataTables("用户登录状态表").sqlreplacefor(“state”,0,"user_ID = \'" & _userName & "\'")
With Tables("用户登录状态表")                \'将新登录用户信息写入
    dim r as row = .AddNew
    r("Num") = Format(idx,"0000")
    r("user_ID") = _UserName
    r("computer_ID") = ComputerId
    r("login_time") = dt
    r("refresh_time") = dt
    r("state") = 1
    r.save
End With