以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助 自定义用户  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=151639)

--  作者:long086
--  发布时间:2020/6/30 9:15:00
--  求助 自定义用户

老师您好,请问用 自定义用户 方式,如果aaa用户已经登录了,不能再用aaa登录了,aaa再登录提示,提示该用户已登录,不允许再登录,怎么实现。


--  作者:有点蓝
--  发布时间:2020/6/30 9:25:00
--  
用户表增加一个登陆标记列,用户登录后设置为1,关闭项目前设置为0。登录的时候判断如果是1,说明已经登录了,提示并拒绝登录
--  作者:long086
--  发布时间:2020/7/1 8:00:00
--  

 

[此贴子已经被作者于2020/7/1 16:13:18编辑过]

--  作者:有点蓝
--  发布时间:2020/7/1 8:38:00
--  
哪个步骤,什么地方有问题,写了什么代码有问题?
--  作者:long086
--  发布时间:2020/7/1 10:15:00
--  老师代码写在那个事件中
老师代码写在那个事件中
--  作者:有点蓝
--  发布时间:2020/7/1 10:17:00
--  
点击登录的确定按钮
--  作者:long086
--  发布时间:2020/7/1 10:37:00
--  老师这是帮助原代码

 

Dim UserName As String = e.Form.Controls("UserName").Value
Dim dr As DataRow
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = _UserTable.SQLFind("[Name] = \'" & UserName & "\'")
If dr Is Nothing Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    e.Form.Close
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

 

 

在用户表增加了一列  登录 (逻辑性)代码应该怎么写,谢谢。


--  作者:有点蓝
--  发布时间:2020/7/1 10:41:00
--  
比如

if dr("登录") = true then
msgbox("其它地方已登录")
return
endif
If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
dr("登录") = true
dr.save
    e.Form.Close
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

--  作者:long086
--  发布时间:2020/7/1 10:51:00
--  老师不行,错在那里,请指点

Dim UserName As String = e.Form.Controls("UserName").Value
Dim dr As DataRow
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = _UserTable.SQLFind("[Name] = \'" & UserName & "\'")
If dr Is Nothing Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If


If dr("登录") = True Then
    msgbox("其它地方已登录")
    Return
End If

If e.Form.Controls("PassWord").Value = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
    
    dr("登录") = True
    dr.save
    
    e.Form.Close
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

 

登录以后 登录列没有打t

[此贴子已经被作者于2020/7/1 10:59:35编辑过]

--  作者:有点蓝
--  发布时间:2020/7/1 11:09:00
--  
这个_UserTable是不是不能保存数据的?那就改为使用SQLcommand更新数据