以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助,遍历比较  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=66355)

--  作者:晕了快扶我
--  发布时间:2015/4/3 17:47:00
--  求助,遍历比较

Dim vr As DataRow = DataTables("用户表").SQLFind("用户名 =\'" & _user & "\'")
Dim us As String = vr("用户名")
Dim gp As String =vr("用户组")
Dim zw As String = vr("职位")
Dim gs As String =vr("分公司")
If gp  = "开发者"
    Return True
Else
    Dim dt As DataTable = DataTables("授权表")
    Dim dr As DataRow =dt.Find("模块名称 = \'系统设置\' And 对象窗口  Is Null")
    If dr Is Nothing
        \'MessageBox.Show("很抱歉,你无此权限!","提示!",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        Return False
    ElseIf dr IsNot Nothing Then
        If dr.IsNull("被授权人") = False Then
            Dim nms() As String = dr("被授权人").Split("》")
            For Each nm As String In nms
                If nm = zw OrElse nm = us
Then \'如果授权用户包括登录用户所属的分组或其用户名
                    Return True \'返回True
                Else
                    MessageBox.Show("很抱歉,你无此权限!","提示!",MessageBoxButtons.OK,MessageBoxIcon.Warning)
                    Return False
                End If
            Next
        End If
    End If
End If
Return False

 

 

 

求助,这是按例子做的权限,标红的部分我用命令窗口执行后,发现如果nms有1个以上的时候,for...each执行后只能对第一个值进行对比

比如主管》经理》董事长,分割开字符后只能取到主管后就停止了,结果返回false,求大神指点