Foxtable(狐表)用户栏目专家坐堂 → 可否先不外部数据源


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

主题:可否先不外部数据源

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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
可否先不外部数据源  发帖心情 Post By:2021/1/1 6:29:00 [只看该作者]

蓝老师新年好,

程序服务器地址变动时,希望让用户可以自己设置服务器地址,但不让其设置连接字符串。

我的理解是foxtable允许程序完全打开后再连接外部数据库的。
但因为程序刚启动时要自动连接外部数据源,此时若外部数据源不通则会报错。

请问有无办法屏蔽程序自动连接外部数据源?我再beforeconnect数据源那里没有发现e.cancele.cancel选项。

我希望是先不连接外部数据源,待程序完全启动之后,显示自定义登录窗口的时候,给用户一个服务器地址或名称的下拉列表。

(因为必须不用中文的原因,我无法使用帮助文件的方法利用内部用户登录选项来做。)

谢谢 !








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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/1/1 6:34:00 [只看该作者]

如果不行,那么另一种方法,

就是考虑用C#设计一个登录窗口,所有的数据源选项和登录验证都在那里执行,之后用C#传递参数打开foxtable。

这样的话,请问如何通过C#调用foxtable并传递登录用户名,数据源地址等信息? 可否提供示例语句?

谢谢

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


加好友 发短信
等级:超级版主 帖子:106566 积分:541995 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/3 9:24:00 [只看该作者]

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

如果用C#设计一个登录窗口,登录窗口里返回需要的数据即可,不需要调用foxtable。比如:

dim 窗口 as new 自己设计的登录窗口()
窗口.showdialog()
msgbox(窗口.用户名)
msgbox(窗口.数据源地址)

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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/1/3 17:53:00 [只看该作者]

谢谢蓝老师。我看了下附件的方法,确实很巧妙,但它只适用于access文件作为数据源,因为其第一次连接时还是需要一个test文件作为临时数据源,否则肯定还会报错。所以不适合我的需求。

那么就只有C#一条路了。老师说不需要调用foxtable,但如此的话如何打开foxtable呢?
此时如果允许用户直接打开foxtable那就没有人工介入数据源选项而不提前报错的可能了。

我希望实现的是所有的验证,包括数据源连通测试都在C#中完成,确保数据源可用,之后直接调用foxtable,类似附件的  Syscmd.Project.Open(ProjectFile,vars("conn"))
这个语句,但通过C#实现,是否可以?



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


加好友 发短信
等级:超级版主 帖子:106566 积分:541995 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/3 18:03:00 [只看该作者]

到foxtable的BeforeOpenProject事件,调用打开C#的登录窗口即可,然后保存数据源地址到全局变量或者文件中给BeforeConnectOuterDataSource使用

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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/1/3 18:09:00 [只看该作者]

谢谢蓝老师。


不过BeforeConnectOuterDataSource和BeforeOpenProject这两个事件,哪个先执行?

我看BeforeConnectOuterDataSource在项目属性的排序更靠上,如果它先执行一次的话那么在数据源不通时还是无法避免先报错吧。


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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/1/3 18:16:00 [只看该作者]

我搞明白了。谢谢啦


 回到顶部