Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:下面这段代码为何总是报错?

1楼
唐尸三摆手 发表于:2011/5/18 20:10:00

下面这段代码为何总是报错?

 

Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C
cmd1.CommandText ="select [功能区],[功能组],[菜单项],[开通权限] from {组权限} where [用户名]= '李四'"
dt1 = cmd1.ExecuteReader
If dt1 IsNot Nothing Then
    For Each dr1 As DataRow In dt1.DataRows
        RibbonTabs(dr1("功能区")).Groups(dr1("功能组")).Items(dr1("菜单项")).Enabled =  (dr1("开通权限")= -1)
    Next
End If

 


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

图片点击可在新窗口打开查看此主题相关图片如下:screenshot32.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24_0519.zip

[此贴子已经被作者于2011-5-19 9:50:01编辑过]
2楼
狐狸爸爸 发表于:2011/5/18 21:32:00
呵呵,没看出问题来。
做个例子上来看看。
3楼
e-png 发表于:2011/5/18 22:39:00

 

 If dt1 IsNot Nothing Then  》》》  If dt1.datarows.count > 0 Then  试试看

[此贴子已经被作者于2011-5-18 22:43:34编辑过]
4楼
唐尸三摆手 发表于:2011/5/19 8:11:00
还是不行 ,就是搞不懂,为什么会出现提示“不存在名称为""的datatable”呢?
[此贴子已经被作者于2011-5-19 8:16:05编辑过]
5楼
mr725 发表于:2011/5/19 9:14:00

也许列名称有误 或 条件不成立。

6楼
唐尸三摆手 发表于:2011/5/19 9:51:00

请看一楼附件,附件窗口1的登录按钮中使用这段代码,就会报错:

If dr("用户组")<>"管理员" Then      '如果不是管理员,
    Dim cmd1 As New SQLCommand
    Dim dt1 As DataTable
    cmd1.C
    cmd1.CommandText ="select [功能区],[功能组],[菜单项],[开通权限] from {组权限} where [用户名]='"& UserName &"'"
    dt1 = cmd1.ExecuteReader
    If dt1 IsNot Nothing Then
        For Each dr1 As DataRow In dt1.DataRows
            RibbonTabs(dr1("功能区")).Groups(dr1("功能组")).Items(dr1("菜单项")).Enabled =  (dr1("开通权限")=True)
        Next
    Else
        For Each rb As RibbonMenu.Tab In RibbonTabs
            For Each gp As RibbonMenu.Group In rb.Groups
                For Each itm As RibbonMenu.RibbonItem In gp.Items
                    itm.Enabled = False
                Next
            Next
        Next        
    End If
Else   '如果是管理员,
    For Each rb As RibbonMenu.Tab In RibbonTabs
        For Each gp As RibbonMenu.Group In rb.Groups
            For Each itm As RibbonMenu.RibbonItem In gp.Items
                itm.Enabled = True
            Next
        Next
    Next
End If

[此贴子已经被作者于2011-5-19 10:34:27编辑过]
7楼
狐狸爸爸 发表于:2011/5/19 9:55:00

做例子上传。

8楼
唐尸三摆手 发表于:2011/5/19 10:16:00
见附件或一楼附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24_0519.zip

[此贴子已经被作者于2011-5-19 10:16:36编辑过]
9楼
唐尸三摆手 发表于:2011/5/19 10:40:00

我这样试了一下

 

Dim UserName As String = "李四"
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim a As Integer
cmd.C
cmd.CommandText ="select [功能区],[功能组],[菜单项],[开通权限] from {组权限} where [用户名]='"& UserName &"'"
dt = cmd.ExecuteReader
If dt IsNot Nothing Then
    For Each dr As DataRow In dt.DataRows
        Output.show(dr("功能区") & dr("功能组") & dr("菜单项") & dr("开通权限"))    '这里插入一行显示数据是正常的
        RibbonTabs(dr("功能区")).Groups(dr("功能组")).Items(dr("菜单项")).Enabled = dr("开通权限")   '这里执行就会提示错误,不存在名称为""的datatable
    Next
End If

[此贴子已经被作者于2011-5-19 10:40:07编辑过]
10楼
唐尸三摆手 发表于:2011/5/19 10:48:00

老大,将下面这行代码

       RibbonTabs(dr("功能区")).Groups(dr("功能组")).Items(dr("菜单项")).Enabled = dr("开通权限")

改为下面的代码就可以了

        Dim rb As RibbonMenu.Tab = RibbonTabs(dr("功能区"))
        Dim gp As RibbonMenu.Group = rb.Groups(dr("功能组"))
        Dim itm As RibbonMenu.RibbonItem = gp.Items(dr("菜单项"))
        itm.Enabled =  dr("开通权限")

 

不知道这是为啥呢

[此贴子已经被作者于2011-5-19 10:48:32编辑过]
共12 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 4 queries.