以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 请教:关于自定义用户权限的问题(已解决) (http://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中连一行数据也没有,就会出现一楼的错误
|