以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]外部表存储用户信息能否登陆前切换?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136711)

--  作者:浙江仔
--  发布时间:2019/6/19 16:28:00
--  [求助]外部表存储用户信息能否登陆前切换?
使用外部表存储用户信息,能在BeforeConnectOuterDataSource事件中,使用代码切换数据源(应该没问题)和数据表吗?
比如A条件,使用user1表,B条件,使用user2表?

图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2019/6/19 18:07:00
--  

 

登陆窗口先于BeforeConnectOuterDataSource执行,也就是先弹出登录窗口。

 

你可以在 BeforeConnectOuterDataSource 加入msgbox测试,即可。


--  作者:浙江仔
--  发布时间:2019/6/20 8:39:00
--  
因为一直使用内部账号登录,很多地方都用到了user.group user.name等信息,也不想自己改造登陆窗口,最近考虑到使用范围,想区分区域,加载不同的user表,这样登陆名不至于显示太多

BeforeConnectOuterDataSource 写入一下代码,是可以通过连接不同的数据库,使用名称相同的user表,来实现不同区域账号的登陆(如下代码,可以实现)

但是这种情况,必须建立多个数据库(不同数据源),在各自的数据库下面使用同一张user表(表名需一致),这样可以加载不同区域的用户信息实现登陆。

有没有办法,可以使用同一数据源,在BeforeConnectOuterDataSource   中,使用代码选择不同的user表(使用同一数据源的user1表或user2表)?  

If FileSys.FileExists(ProjectPath & "config.xml") Then
    Dim xml As String=FileSys.ReadAllText(ProjectPath + "config.xml", Encoding.Default)
    Dim xo As XObject = XObject.Parse(xml)
    Dim DistrictCode As String =xo("DistrictCode").Tostring
    
    If e.name = "账号"  Then
        Select Case DistrictCode
            Case "330522"
                e.C
            Case Else
                e.Cfont-family: Verdana;">*.*.*.*"
        End Select
        
    End If
End If

--  作者:有点甜
--  发布时间:2019/6/20 9:10:00
--  

 

不可以,没办法。