以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  权限控制中如何判断表和列是否存在?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=112694)

--  作者:lyzhuo
--  发布时间:2017/12/31 12:31:00
--  权限控制中如何判断表和列是否存在?
帮助里的这段代码,如果在这个表里输入的表名或列名不存在,系统就会出错,特别是已经发布出去的,
新加上的表,发布后的客户端如果没有更新,就不会识别到新加上的表,就会报错,就会看到全部的表,
如何在授权的代码前再加上一个判断,判断一下是否存在这个表或是列?
先谢过了。

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
        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



--  作者:lyzhuo
--  发布时间:2018/1/1 12:14:00
--  
新年好,这个问题很难吗?
--  作者:有点甜
--  发布时间:2018/1/1 19:16:00
--  

参考,Contains

 

http://www.foxtable.com/webhelp/scr/0437.htm

 

http://www.foxtable.com/webhelp/scr/0561.htm

 


--  作者:lyzhuo
--  发布时间:2018/1/2 9:22:00
--  
表名专门有一个方法进行判断。
是否存在列名,是不是没有这个方法进行判断,自己得写一段代码进行判断?
  • Contains
    判断是否存在指定名称的DataTable,如果存在,则返回True,否则返回Falsa
[此贴子已经被作者于2018/1/2 9:23:35编辑过]

--  作者:有点甜
--  发布时间:2018/1/2 9:30:00
--  
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
        If Tables.Contains(dr("表名")) Then
            If dr.IsNull("列名") Then
                Tables(dr("表名")).Visible = Not dr("不可见")
                Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
            Else
                If Tables(dr("表名")).Cols.Contains(dr("列名")) Then
                    Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
                    Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
                End If
            End If
        End If
    Next
End If

--  作者:lyzhuo
--  发布时间:2018/1/2 9:54:00
--  
谢谢〔有点甜〕,代码写得太清炼了,受益匪浅。