以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老大请教个问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174356) |
|
-- 作者:xiaofei_00 -- 发布时间:2022/1/12 11:16:00 -- 老大请教个问题 我的程序中采用的外部数据源,数据源中有5个表格,其中一个是权限表,我的权限设置是不同的人看到不同的表,只能对他自己看见的表进行部分操作,现在的问题是我们的服务器不是很稳定,有的时候打开软件加载表格时由于网速的问题报错,就是本应该他看不到的表格由于出错他也看到了,我分析是权限表没有加载或者加载不完全的原因造成的,我的问题是这样情况下他是否对出错本不该看到的表格进行修改?会不会越过我设置的权限,最后造成我的数据不安全??????请老大明示,还有这样的问题怎么避免?? |
|
-- 作者:lgzhao -- 发布时间:2022/1/12 11:19:00 -- 开始不加载任何数据表。在相应功能按钮内设置加载外部表。 |
|
-- 作者:有点蓝 -- 发布时间:2022/1/12 11:44:00 -- 不要加载权限表,使用SQLcommand获取权限表数据,如果SQLcommand出错,就退出程序 [此贴子已经被作者于2022/1/12 11:43:43编辑过]
|
|
-- 作者:xiaofei_00 -- 发布时间:2022/1/12 13:27:00 -- 老师能给我个参考吗?我是按照咱的帮助文件一点一点做起来的,有些真的不大懂,就是可视化授权那一节的内容搞得 [此贴子已经被作者于2022/1/12 13:29:38编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2022/1/12 13:44:00 -- http://www.foxtable.com/webhelp/topics/0696.htm [此贴子已经被作者于2022/1/12 14:02:45编辑过]
|
|
-- 作者:xiaofei_00 -- 发布时间:2022/1/12 13:59:00 -- 老师实在不好意思我了还是不知道怎么用,我的授权表就是叫”授权表“,请问我要怎么读取它的数据呢?代码写在哪里?怎么写?请您出手给写一段代码吧,万分感谢 |
|
-- 作者:有点蓝 -- 发布时间:2022/1/12 14:04:00 -- 发错了,这个帮助:http://www.foxtable.com/webhelp/topics/0696.htm Dim cmd As New SQLCommand cmd.ConnectionName = "数据源名称" Dim dt As DataTable cmd.CommandText = "SELECT DISTINCT 客户 From {授权表}" dt = cmd.ExecuteReader() 然后可以使用dt替代datatables("授权表")
|
|
-- 作者:xiaofei_00 -- 发布时间:2022/1/12 14:15:00 -- For Each t As Table In Tables t.Visible = True t.AllowEdit = True For Each c As Col In t.Cols c.Visible = True c.AllowEdit = True Next Next Tables("ACCshqb").Visible = (User.Type <> UserTypeEnum.User ) If User.Type = UserTypeEnum.User Then For Each dr As DataRow In DataTables("ACCshqb").Select("分组名 = \'" & User.Group & "\'" ) If dr.IsNull("列名") Then Tables(dr("表名")).Visible = Not dr("不可见") Tables(dr("表名")).AllowEdit = Not dr("不可编辑") Else Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见") Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑") End If Next End If 老师这是我的授权表使用的代码,您给的代码我要怎么用呢?
|
|
-- 作者:有点蓝 -- 发布时间:2022/1/12 14:19:00 -- For Each t As Table In Tables t.Visible = True t.AllowEdit = True For Each c As Col In t.Cols c.Visible = True c.AllowEdit = True Next Next Tables("ACCshqb").Visible = (User.Type <> UserTypeEnum.User ) If User.Type = UserTypeEnum.User Then Dim cmd As New SQLCommand cmd.ConnectionName = "数据源名称" Dim dt As DataTable cmd.CommandText = "SELECT * From {ACCshqb} where 分组名 = \'" & User.Group & "\'" dt = cmd.ExecuteReader() For Each dr As DataRow In dt.datarows If dr.IsNull("列名") Then Tables(dr("表名")).Visible = Not dr("不可见") Tables(dr("表名")).AllowEdit = Not dr("不可编辑") Else Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见") Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑") End If Next End If
|
|
-- 作者:xiaofei_00 -- 发布时间:2022/1/12 14:35:00 -- 感谢老师,哪天老师来淄博我请您吃饭 |