以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 可否先不外部数据源 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=159617) |
||||
-- 作者:lgzhao -- 发布时间:2021/1/1 6:29:00 -- 可否先不外部数据源 蓝老师新年好, 程序服务器地址变动时,希望让用户可以自己设置服务器地址,但不让其设置连接字符串。 我的理解是foxtable允许程序完全打开后再连接外部数据库的。 但因为程序刚启动时要自动连接外部数据源,此时若外部数据源不通则会报错。 请问有无办法屏蔽程序自动连接外部数据源?我再beforeconnect数据源那里没有发现e.cancele.cancel选项。 我希望是先不连接外部数据源,待程序完全启动之后,显示自定义登录窗口的时候,给用户一个服务器地址或名称的下拉列表。 (因为必须不用中文的原因,我无法使用帮助文件的方法利用内部用户登录选项来做。) 谢谢 ! |
||||
-- 作者:lgzhao -- 发布时间:2021/1/1 6:34:00 -- 如果不行,那么另一种方法, 就是考虑用C#设计一个登录窗口,所有的数据源选项和登录验证都在那里执行,之后用C#传递参数打开foxtable。 这样的话,请问如何通过C#调用foxtable并传递登录用户名,数据源地址等信息? 可否提供示例语句? 谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2021/1/3 9:24:00 -- 可以看看这个:
如果用C#设计一个登录窗口,登录窗口里返回需要的数据即可,不需要调用foxtable。比如: dim 窗口 as new 自己设计的登录窗口() 窗口.showdialog() msgbox(窗口.用户名) msgbox(窗口.数据源地址)
|
||||
-- 作者:lgzhao -- 发布时间:2021/1/3 17:53:00 -- 谢谢蓝老师。我看了下附件的方法,确实很巧妙,但它只适用于access文件作为数据源,因为其第一次连接时还是需要一个test文件作为临时数据源,否则肯定还会报错。所以不适合我的需求。 那么就只有C#一条路了。老师说不需要调用foxtable,但如此的话如何打开foxtable呢? 此时如果允许用户直接打开foxtable那就没有人工介入数据源选项而不提前报错的可能了。 我希望实现的是所有的验证,包括数据源连通测试都在C#中完成,确保数据源可用,之后直接调用foxtable,类似附件的 Syscmd.Project.Open(ProjectFile,vars("conn")) 这个语句,但通过C#实现,是否可以? |
||||
-- 作者:有点蓝 -- 发布时间:2021/1/3 18:03:00 -- 到foxtable的BeforeOpenProject事件,调用打开C#的登录窗口即可,然后保存数据源地址到全局变量或者文件中给BeforeConnectOuterDataSource使用 |
||||
-- 作者:lgzhao -- 发布时间:2021/1/3 18:09:00 -- 谢谢蓝老师。 不过BeforeConnectOuterDataSource和BeforeOpenProject这两个事件,哪个先执行? 我看BeforeConnectOuterDataSource在项目属性的排序更靠上,如果它先执行一次的话那么在数据源不通时还是无法避免先报错吧。 |
||||
-- 作者:lgzhao -- 发布时间:2021/1/3 18:16:00 -- 我搞明白了。谢谢啦 |