Foxtable(狐表)用户栏目专家坐堂 → 我想在连接外部数据源的时候动态输入IP地址和用户名!(已有进一步建议,参见贴子:应该增加管理“外部数据源”的功能!)


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

主题:我想在连接外部数据源的时候动态输入IP地址和用户名!(已有进一步建议,参见贴子:应该增加管理“外部数据源”的功能!)

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
我想在连接外部数据源的时候动态输入IP地址和用户名!(已有进一步建议,参见贴子:应该增加管理“外部数据源”的功能!)  发帖心情 Post By:2008/9/17 11:30:00 [只看该作者]

     帮助中和论坛上举了一个事例,可以连接外部数据源的时候,通过修改一个文本文件,并在BeforeConnectOuterDataSource事件中修改e参数ConnectionString来动态修改连接字符串,以实现连接动态IP地址的外部数据源,用这种办法,可以实现动态IP地址的外部数据源问题,但这个办法显得不够专业,不正规,有点傻,(有哪个正规的软件在每次登录时都要先修改一个文本文件呢,现在用ADSL作服务器的很多,这可都是动态IP啊)。其他软件的通用做法是,系统开始运行时,首先出现一个登录窗口,登录窗口中有若干个文本框,在登录窗口输入要连接的服务器的IP地址(可能还有用户名、密码等),然后,系统根据输入的文本框的内容(IP地址等),来连接相应的服务器上的外部数据源。但在狐表中,我在BeforeConnectOuterDataSource事件中进行类似设置,不能成功,提示“XX窗口不存在”!经过我的分析,估计是系统在打开项目的时候,先连接外部数据源,然后才打开数据表(包括内部数据表),最后在打开数据表之后才加载窗口(因为目前的软件中子窗口也属于某个表)。在这样的设计下,在连接外部数据源的时候,是不存在窗口的,所以会出错。为了实现这个功能,我有两个建议方案:
(1)在系统中提供一种独立于表的窗口(我们可以叫它“完全独立窗口”),这种窗口不从属于任何一个表,在打开项目的时候,能够在连接外部数据源、打开数据表之前先加载!(这种窗口可以不插入表格亦可,仅加入操作性的控件),这样,即可实现上述功能!
(2)如果第1个方案比较麻烦,不好实现,可以把打开项目时的加载顺序改一下,改为:先加载内部表(包括内部表的窗口),然后再连接外部数据源,如果这样改一下顺序,应该也能实现上述功能。
   另外还有一个问题,因为我没有测试成功,我不太清楚在运行BeforeConnectOuterDataSource事件时,系统变量是否已经生效,如果生效的话就没有其他问题了。
    前几天我提了关于多窗口的问题,主要是为了实现两项功能,一是多窗口录入;二是多窗口查询。昨天我给你发的关于列表框的事例如果设置得比较成功,多窗口录入的问题基本可以解决;多窗口查询的问题我准备用关联表的方法进行解决(虽然可以实现,但为了实现多窗口同时查询需要额外设置很多关联,估计会降低系统运行的效率)。这几天我又一直在认真测试外部数据源(主要是SQL server)的相关功能。我关注的这些功能虽然对于很多用户来说并不常用,但如果要设计一个规范、正式的系统,这些功能是很关键、必不可少的。或者说,有了这些功能,用狐表设计的系统才真正像一个系统!我们不想在实际设计系统时,用户要求一种功能(或操作方式),我们告诉他说这种方式狐表不支持,需要变通;用户再提要求,我们再说不支持,这样给人的印像很不好,我们希望在别的软件中有的功能,狐表中尽量都能支持!真正满足各种用户的需要!
[此贴子已经被作者于2008-9-18 13:13:04编辑过]

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/17 11:35:00 [只看该作者]

呵呵,用配置文件,一点没有不专业的感觉呢,相反很多专业的软件都是这么做的。
至于后半部分的多窗口查询,建议将你邮件的内容单独发帖,我帮你做一个例子,其实实现起来很简单,而且foxtable从公测的第一天开始,就能实现的。

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2008/9/17 11:44:00 [只看该作者]

以下是引用贺老六在2008-9-17 11:35:00的发言:
呵呵,用配置文件,一点没有不专业的感觉呢,相反很多专业的软件都是这么做的。
至于后半部分的多窗口查询,建议将你邮件的内容单独发帖,我帮你做一个例子,其实实现起来很简单,而且foxtable从公测的第一天开始,就能实现的。

    是的,当然用修改配置文件方式的软件也有很多,但是,直接用登录窗口的专业软件同样也非常多(我可以随便举出10几个在国内很有知名度的软件),我希望狐表能够给用户多一种选择,多一种实现方案。萝卜白菜各有所爱,我们不想让狐表因为某项功能先放弃一部分用户,不能因为有一种解决方案了,就不再增加其它的实现方案了!我的建议实现起来应该不算太复杂,还是建议您认真考虑,让用户多一种方式供选择吧!
    多窗口录入的事例昨晚我已经发到您邮箱里了,不知您看明白了没有?什么时间能做好?等做好了,我再发到论坛上让更多的人学习!
    关于多窗口查询的功能,上次的邮件中我已经给您发过了一个说明,我觉得应该等您把事例做好了,让我看一下是否是我想要的功能,然后再放到论坛上,这样才便于大家学习啊!(如果我只发要求没有事例,大家是学习不到的)

[此贴子已经被作者于2008-9-17 11:45:20编辑过]

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/17 11:52:00 [只看该作者]

1、不同软件有不同的风格,不可能照顾每一个方面的。你说的道理我懂,但是不管是公司还是个人,精力和时间都有限,都会集中大部分精力,解决最主要的问题
2、你先发贴,同时将你的文件发上去,我应该很快可以做好。
[此贴子已经被作者于2008-9-17 11:55:27编辑过]

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2008/9/17 12:12:00 [只看该作者]

参考国内众多ERP厂商都在设计系统时考虑到了这一点,比如启动界面打开(SPLASH)后加载数据源,同时提示加载进度,随后弹出系统登陆界面,包括工作站,用户名,密码,通过不同的工作站权限设置达到用户使用不同的工作菜单,希望这种说法能够得到更多狐朋的认可!
[此贴子已经被作者于2008-9-17 12:13:34编辑过]

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2008/9/17 12:13:00 [只看该作者]

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

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2008/9/17 12:14:00 [只看该作者]

我个人还是很欣赏这种登陆方式的

[此贴子已经被作者于2008-9-17 12:15:32编辑过]

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


加好友 发短信
等级:童狐 帖子:243 积分:2370 威望:0 精华:1 注册:2008/8/31 22:25:00
  发帖心情 Post By:2008/9/17 12:14:00 [只看该作者]

我试了一下直接在BeforeConnectOuterDataSource事件中加入以下代码:
 e.name = "test"
 [e.C]
但目前系统提示e.name为只读.

如果能够按上述方式在BeforeConnectOuterDataSource事件中直接创建远程数据源连接就可以解决1楼的问题了.

[此贴子已经被作者于2008-9-17 12:16:20编辑过]

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/17 12:16:00 [只看该作者]

e.name表示正在连接的数据源,当然应该只读的。
每链接一个数据源,都会触发这个事件,e.name也不同。

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/17 12:19:00 [只看该作者]

以下是引用唐尸三摆手在2008-9-17 12:12:00的发言:
参考国内众多ERP厂商都在设计系统时考虑到了这一点,比如启动界面打开(SPLASH)后加载数据源,同时提示加载进度,随后弹出系统登陆界面,包括工作站,用户名,密码,通过不同的工作站权限设置达到用户使用不同的工作菜单,希望这种说法能够得到更多狐朋的认可!
[此贴子已经被作者于2008-9-17 12:13:34编辑过]


foxtable的菜单是可以动态的,根据不同用户,你可以禁用或隐藏多余的命令。
其实foxtable权限管理,别说一个命令,还可以已经可以细到一个单元格的程度,甚至还可以比这细很多,灵活性远非其他软件可比。


 回到顶部
总数 19 1 2 下一页