Foxtable(狐表)用户栏目专家坐堂 → [求助]关于目录树授权


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

主题:[求助]关于目录树授权

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]关于目录树授权  发帖心情 Post By:2015/5/26 14:57:00 [只看该作者]

授权窗口的AfterLoad
Dim trv2 As WinForm.TreeView = e.F orm.Controls("TreeView2")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Select Group,name F rom {Users}"
dt = cmd.ExecuteReader()
trv2.BuildTree(dt,"Group|Name")
trv2.ExpandAll()

上面代码是抄来的,本来没有问题,但以上代码是基于教程中的自定义用户即“一、在文件“用户.mdb”新建一个名为“Users”的表,包括Name、Group、Password三列,分别用于保存用户名、用户分组和密码。”
我现在没用这个功能,但用了教程中的“外部数据源与用户管理”,因此在SQL数据库中USER表的字段是 Name,Type,Config,
也就是说Group的信息是存在了Config中,内容举例:Group 生产部 PassWord EmIR5WBjrFGjO7SHZdBWwQ== Type 2 Role 部长
上面的代码如何改能让目录树中正常显示Group,还是说没办法必须用自定义用户的方式,谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/26 15:00:00 [只看该作者]

特殊符号,要特殊处理。或则改名

 

md.CommandText = "Select [Group],name F rom {Users}"


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/5/26 15:11:00 [只看该作者]

不是这个问题,是字段名的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/26 15:13:00 [只看该作者]

 如果要截取,请可以用sql语句处理,下面的函数是用access数据库的,Sqlserver数据,请用对应的函数替换。

 

select Mid(config,7,InStr(Mid(config,7,len(config)-6),' ')) as [group] f rom {表A}


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/5/26 15:34:00 [只看该作者]

SQL基本不会,所以不知如何改。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/26 15:41:00 [只看该作者]

 select SUBSTRING(config,7,CHARINDEX(' ',SUBSTRING(config,7,len(config)-6))) as [group] f rom {表A}

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/5/26 15:44:00 [只看该作者]

大红袍 非常感谢你的解答 现在的问题是你给我的代码加在我上面的代码中哪个位置。

Dim trv2 As WinForm.TreeView = e.F orm.Controls("TreeView2")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "ShcsErpSql"
cmd.CommandText = "Select Group,name F rom {Users}"
dt = cmd.ExecuteReader()
trv2.BuildTree(dt,"Group|Name")
trv2.ExpandAll()

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/26 15:47:00 [只看该作者]

Dim trv2 As WinForm.TreeView = e.F orm.Controls("TreeView2")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "ShcsErpSql"
cmd.CommandText = "select SUBSTRING(config,7,CHARINDEX(' ',SUBSTRING(config,7,len(config)-6))) as [group], name F rom {Users}"
dt = cmd.ExecuteReader()
trv2.BuildTree(dt,"Group|Name")
trv2.ExpandAll()

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/5/26 15:51:00 [只看该作者]

.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
参数数据类型 ntext 对于 len 函数的参数 1 无效。

在建表时config的类型是ntext 即备注型
[此贴子已经被作者于2015/5/26 15:52:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/26 16:04:00 [只看该作者]

 那就不要弄成备注型,改成字符型,给足够的长度即可。

 回到顶部