Foxtable(狐表)用户栏目专家坐堂 → 请教:关于自定义用户权限的问题(已解决)


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

主题:请教:关于自定义用户权限的问题(已解决)

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
请教:关于自定义用户权限的问题(已解决)  发帖心情 Post By: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编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 12:31:00 [显示全部帖子]

以下是引用czy在2010-6-1 12:19:00的发言:

没看出问题。

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

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

有一个错误提示,看下图


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

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 13:11:00 [显示全部帖子]

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

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


 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 14:13:00 [显示全部帖子]

以下是引用exonjee在2010-6-1 14:02:00的发言:
UserName变量改名试下

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

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

 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By: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编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 15:28:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-1 15:11:00的发言:
如果dt中连一行数据也没有,就会出现一楼的错误

LoadUserSetting 事件时,是否所有表都已打开了?


 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 16:56:00 [显示全部帖子]

我想问一下,是登录窗口和LoadUserSetting事件哪个先执行?
[此贴子已经被作者于2010-6-1 16:56:27编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 17:41:00 [显示全部帖子]

以下是引用czy在2010-6-1 17:32:00的发言:

真的奇怪,fz又能返回值,有值就说明dt表中有数据,彻底晕了。

 

再看看到底有无数据?

 

MessageBox.Show(dt.DataRows.Count)

MessageBox.Show(dt.DataRows.Count)=1


 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 18:00:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-1 17:33:00的发言:
搞不定就做个例子吧

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar

用贺老师做的示例

 回到顶部
美女呀,离线,留言给我吧!
yangming
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/6/1 20:32:00 [显示全部帖子]

以下是引用czy在2010-6-1 19:31:00的发言:

代码放到LoadUserSetting事件中犯了很大的错误。

 

从自定义窗口进行登录,并非真正意义上的切换用户。

 

所以你的代码应该放到登录窗口的确定按钮中。

 

是的,只 能是放在登录窗口的确定中了,谢谢曹版!


 回到顶部
总数 12 1 2 下一页