以文本方式查看主题

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

--  作者:yangming
--  发布时间:2010/6/1 11:56:00
--  请教:关于自定义用户权限的问题(已解决)

在项目事件:LoadUserSetting 中对用户及分组进行菜单方面的选择,我是这样写的,但是不起作用

 

请看此代码错在何处

 

Dim UserName As String = _UserName
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.C
cmd.CommandText = "Select * From {Users} Where [Name] = \'" & UserName & "\'"
dt = cmd.ExecuteReader
dr = dt.DataRows(0)

Dim fz As String =dr("Group")
Select Case fz
    Case "采购"
        RibbonTabs("销售").Visible = False
RibbonTabs("财务").Visible = False

     Case "销售"
        RibbonTabs("财务").Visible = False
RibbonTabs("采购").Visible = False
     Case "财务"
        RibbonTabs("销售").Visible = False
RibbonTabs("采购").Visible = False
     End Select

 

 

[此贴子已经被作者于2010-6-1 20:32:55编辑过]

--  作者:czy
--  发布时间:2010/6/1 12:19:00
--  

没看出问题。

看看MessageBox.Show(fz)结果是什么?


--  作者:yangming
--  发布时间:2010/6/1 12:31:00
--  
以下是引用czy在2010-6-1 12:19:00的发言:

没看出问题。

看看MessageBox.Show(fz)结果是什么?

不会出现提示MessageBox.Show(fz)

有一个错误提示,看下图


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

--  作者:czy
--  发布时间:2010/6/1 12:57:00
--  
取Select Case前面的所有代码,在命令窗口测试一下,然后用MessageBox.Show(fz)返回结果看看。
--  作者:yangming
--  发布时间:2010/6/1 13:11:00
--  
以下是引用czy在2010-6-1 12:57:00的发言:
取Select Case前面的所有代码,在命令窗口测试一下,然后用MessageBox.Show(fz)返回结果看看。

MessageBox.Show(fz)返回是正确的,但是不知为何没有起作用,另外,还会出现三楼的错误提示


--  作者:exonjee
--  发布时间:2010/6/1 14:02:00
--  
UserName变量改名试下
--  作者:yangming
--  发布时间:2010/6/1 14:13:00
--  
以下是引用exonjee在2010-6-1 14:02:00的发言:
UserName变量改名试下

改什么名,我用不同用户名进入都试过了,无论以何用户,不论用户是何组,结果都是一样,菜单的所有功能区都显示了

[此贴子已经被作者于2010-6-1 14:15:01编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/6/1 14:53:00
--  

唯一使用索引的是:

 

dr = dt.DataRows(0)

说明SQL没有返回任何数据,也就是条件不符


--  作者:yangming
--  发布时间:2010/6/1 15:04:00
--  
以下是引用狐狸爸爸在2010-6-1 14:53:00的发言:

唯一使用索引的是:

 

dr = dt.DataRows(0)

说明SQL没有返回任何数据,也就是条件不符

不明白,dr = dt.DataRows(0),这句的意思不就是用户表的第一行数据吗,而且我返回的FZ,确实就是当前用户的分组啊

另外,我想请教一下,LoadUserSetting 事件时,是否所有表都已打开了?

[此贴子已经被作者于2010-6-1 15:05:50编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/6/1 15:11:00
--  
如果dt中连一行数据也没有,就会出现一楼的错误