Foxtable(狐表)用户栏目专家坐堂 → 一个程序对应多个数据库


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

主题:一个程序对应多个数据库

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/12 13:54:00 [显示全部帖子]

参考:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:选择数据源.zip

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/27 22:42:00 [显示全部帖子]

需要像例子一样重做登录窗口

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 14:06:00 [显示全部帖子]

如果是指菜单的数据源设置,这个是不会变的。如果使用代码重设了数据源,那么项目的表格和数据会以代码设置的数据源为主,不会使用菜单的数据源设置。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 15:09:00 [显示全部帖子]

项目事件代码发上来看看

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 15:58:00 [显示全部帖子]

把用户名也作为参数重启项目:

AfterOpenProject 事项代码为   
If OpenFileArgs.Count = 0 Then
    Forms("登录窗口").Show()
    If vars("conn") > "" Then
        Syscmd.Project.Open(ProjectFile,vars("conn"),_UserName)
        Return
    End If
else
_UserName = OpenFileArgs(1)
Else
 
If _UserName = "" Then
    Syscmd.Project.Exit()
    Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If

End If

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 17:16:00 [显示全部帖子]

用户表应该独立出来一个单独的数据库,只是使用不同的业务库,不管选择哪个业务库,都应该连接同一个用户表。

将 User.Name 改为 _UserName 才行

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 17:38:00 [显示全部帖子]

那么更应该使用独立的用户表,做一个用户和业务库的权限管理,输入用户名称后获取可用的业务库作为下拉选择数据库

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113540 积分:578201 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 20:14:00 [显示全部帖子]

如果点击取消,正常vars("conn")和_UserName应该是空的,那么应该会进入下面红色代码退出项目的

AfterOpenProject 事项代码为   
If OpenFileArgs.Count = 0 Then
    Forms("登录窗口").Show()
    If vars("conn") > "" Then
        Syscmd.Project.Open(ProjectFile,vars("conn"),_UserName)
        Return
    End If
else
_UserName = OpenFileArgs(1)
Else
 
If _UserName = "" Then
    Syscmd.Project.Exit()
    Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If

End If

 回到顶部