以文本方式查看主题

-  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=84636)

--  作者:viking
--  发布时间:2016/5/6 10:49:00
--  [求助]已注册用户未被批准不准登陆,怎么改代码?

已注册用户未被批准不准登陆,怎么改代码?

sql环境,在数据库表中增加了2逻辑列,一列“系统批准”一列“公司批准”

如果新用户注册账号成功以后,只有这2列同时勾选时,才可以登录,否则提醒客户,这个怎么改?

 

图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2016/5/6 11:13:00
--  

你用系统的登陆窗口,还是自己做的登陆窗口?

 

如果是系统自带的,你无法控制登陆,不过你可以在LoadUserSetting事件,查询用户的表记录,从而提醒用户;

 

如果是自己做的登陆窗口,就直接find对应的数据行,检查那两列是否勾选。


--  作者:viking
--  发布时间:2016/5/6 15:58:00
--  

sql find

不会写,能帮个忙吗?


--  作者:大红袍
--  发布时间:2016/5/6 16:01:00
--  

Dim fdr As DataRow = DataTables("users").SqlFind("name = \'" & user.Name & "\'")

If fdr Is Nothing Then

    msgbox("用户不存在")

Else

    If fdr("系统批准") = False OrElse fdr("公司批准") = False Then

        msgbox("你没被批准")

    End If

End If


--  作者:viking
--  发布时间:2016/5/6 18:38:00
--  

DataTables("users")

表是未加载到系统的表,这个会找不到表“users”


--  作者:458445945
--  发布时间:2016/5/6 23:07:00
--  
Dim dt As DataTable 
Dim cmd As New SQLCommand 
cmd.C 
cmd.Command Text ="S elect 系统批准,公司批准 From {Users} Where Name = \'" & Name & "\' and pass = \'" & pass & "\'" 
dt = cmd.Execute Reader
For Each dr As DataRow In dt.DataRows 
 if dr isnot notthing then 
 if val(dr("系统批准")) = 0 orelse val(dr("公司批准")) = 0 then 
 Messagebox.Show("未授权","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) 
 end if 
 exit for
 else 
 Messagebox.Show("用户或密码错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) 
 end if 
Next
[此贴子已经被作者于2016/5/6 23:14:52编辑过]

--  作者:大红袍
--  发布时间:2016/5/8 14:58:00
--  
以下是引用viking在2016/5/6 18:38:00的发言:

DataTables("users")

表是未加载到系统的表,这个会找不到表“users”

 

你添加一个users表进来吧,方便查询

 

http://www.foxtable.com/help/topics/1812.htm