Foxtable(狐表)用户栏目专家坐堂 → [求助]代码报错


  共有3835人关注过本帖树形打印复制链接

主题:[求助]代码报错

帅哥哟,离线,有人找我吗?
紫色幽魂
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
[求助]代码报错  发帖心情 Post By:2020/1/11 17:28:00 [只看该作者]

下面这段代码执行到这儿就报错,是怎么回事
For Each rb As RibbonMenu.Tab In RibbonTabs
    Dim dr1 As DataRow = DataTables("用户权限_菜单权限").SQLFind("一级菜单_名称 = '"& rb.Name &"' and 二级菜单_名称 is null and 三级菜单_名称 is null")
    Dim sz1 As String = dr1("角色")
    Dim jh1 As new List(of String)
    jh1.AddRange(sz1.Split(","))
    For Each str1 As String In jh1
        If _usergroup.Contains(str1)
            rb.Visible = True
        Else
            rb.Visible = False
        End If
    Next
    For Each gp As RibbonMenu.Group In rb.Groups
        Dim dr2 As DataRow = DataTables("用户权限_菜单权限").SQLFind("一级菜单_名称 = '"& rb.Name &"' and 二级菜单_名称 = '"& gp.Name &"' and 三级菜单_名称 is null")
        Dim sz2 As String = dr2("角色")
        Dim jh2 As new List(of String)
        jh2.AddRange(sz2.Split(","))
        For Each str2 As String In jh2
            If _usergroup.Contains(str2)
                gp.Visible = True
            Else
                gp.Visible = False
            End If
        Next
        For Each itm As RibbonMenu.RibbonItem In gp.Items
            Dim dr3 As DataRow = DataTables("用户权限_菜单权限").SQLFind("一级菜单_名称 = '"& rb.Name &"' and 二级菜单_名称 = '"& gp.Name &"' and 三级菜单_名称 = '"& itm.Name &"'")
            Dim sz3 As String = dr3("角色")
            Dim jh3 As new List(of String)
            jh3.AddRange(sz3.Split(","))
            For Each str3 As String In jh3
                If _usergroup.Contains(str3)
                    itm.Visible = True
                Else
                    itm.Visible = False
                End If
            Next
        Next
    Next
Next

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110825 积分:564069 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/11 17:35:00 [只看该作者]

报什么错?

下面都是些什么值?
msgbox( sz2)
msgbox(_usergroup)

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点蓝)报什么错?下面都是些什么值?msgbox...  发帖心情 Post By:2020/1/11 17:38:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20200111172707.png
图片点击可在新窗口打开查看
我测试这段也报相同错误错
Output.Show(_UserGroup)
我先将菜单储存在一个表中,循环拆解角色与表单中的角色比较,有就显示菜单,没有就不显示菜单

找到问题了,是下面这段代码获取值有问题,我用SQLGetComboListString获取不到数值,但是用GetComboListString可以获取到数值,这个是怎么回事
Dim s As String  = DataTables("用户权限_角色").SQLGetComboListString("角色","用户 like '*"& username &"*'")

[此贴子已经被作者于2020/1/11 21:11:46编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110825 积分:564069 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/12 20:14:00 [只看该作者]

改为这样试试
Dim s As String  = DataTables("用户权限_角色").SQLGetComboListString("角色","用户 like '%" & username & "%'")

msgbox("用户 like '%" & username & "%'") ‘这里显示什么内容?

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点蓝)改为这样试试Dim s As String  ...  发帖心情 Post By:2020/1/14 9:06:00 [只看该作者]

可以了,这两个匹配模糊值的时候为什么还不一样呢

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110825 积分:564069 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/14 9:33:00 [只看该作者]

这个得问微软了。一般建议优先使用%

 回到顶部