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


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

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

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


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

我的思路是在系统中先开个内部表, 用以记录所有配置的远程连接数据源(NAME,IP,数据,USER,PWD),同时加一个"默认连接"标识字段, 系统初始化中BeforeConnectOuterDataSource事件中 取此内部表中"默认连接"标识字段为真的记录值动态建立数据源, 之后再按需要加载或创建外部表了,再加载用户登录窗口....

1. 可以实现数据源的灵活配置
2. 也解决了1楼的问题.


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


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

以下是引用eric803在2008-9-17 12:40:00的发言:

我的思路是在系统中先开个内部表, 用以记录所有配置的远程连接数据源(NAME,IP,数据,USER,PWD),同时加一个"默认连接"标识字段, 系统初始化中BeforeConnectOuterDataSource事件中 取此内部表中"默认连接"标识字段为真的记录值动态建立数据源, 之后再按需要加载或创建外部表了,再加载用户登录窗口....

1. 可以实现数据源的灵活配置
2. 也解决了1楼的问题.

肯定不行,这是因为系统打开项目的加载顺序问题,在执行BeforeConnectOuterDataSource事件的时候,还没有加载内部表(包括内部表的窗口),所以,内部表中的所有数据在连接外部数据源时都是无效的.所以,如果不太复杂的话,我还是强烈建议贺老师改一下项目加载的顺序,先加载内部表和内部表的窗口,然后再执行BeforeConnectOuterDataSource事件并连接外部数据源.这只是改变一下加载顺序,应该很容易实现,不知道实际上是不是这样?


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


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


以下是引用贺老六在2008-9-17 12:16:00的发言:

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

 请问贺兄, 狐表目前应该可以实现同时多数据源连接吧.
(帮助中关于外部表的QueryBuilder/OuterTableBuilder/SQLCommand类都是可以指定数据源名称的.)

 BeforeConnectOuterDataSource事件中 E.NAME是指当前连接的数据名称, 但是使用外部数据源命令建立的数据源应该有一个静态的属性用以记录数据名称和连接字符串吧. 如果可在项目初始化事件中用代码创建多个数据源就可以实现一个客户端可以连接多个数据源,这是很有意义的.


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

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/17 12:47:00 [只看该作者]

以下是引用eric803在2008-9-17 12:45:00的发言:

 请问贺兄, 狐表目前应该可以实现同时多数据源连接吧.
 BeforeConnectOuterDataSource事件中 E.NAME是否可以用多个呢,还是一个?


外部数据源可以由任意多个,每个数据源都会触发BeforeConnectOuterDataSource事件,e.name自然也是触发事件的外部数据源名称。
非常灵活。


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


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

以下是引用cpayinyuan在2008-9-17 12:45:00的发言:

肯定不行,这是因为系统打开项目的加载顺序问题,在执行BeforeConnectOuterDataSource事件的时候,还没有加载内部表(包括内部表的窗口),所以,内部表中的所有数据在连接外部数据源时都是无效的.所以,如果不太复杂的话,我还是强烈建议贺老师改一下项目加载的顺序,先加载内部表和内部表的窗口,然后再执行BeforeConnectOuterDataSource事件并连接外部数据源.这只是改变一下加载顺序,应该很容易实现,不知道实际上是不是这样?

 我觉得 应该是先连本地表,再连远程表了.


 回到顶部
美女呀,离线,留言给我吧!
狐仙
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:53 积分:404 威望:0 精华:1 注册:2008/9/10 13:52:00
  发帖心情 Post By:2008/9/17 13:25:00 [只看该作者]

foxtable可否专门写个修改配置文件的小软件,作为独立的程序,用时只要放入程序文件夹,运行时自动打开一个修改的小窗口,修改的数据保存在当前文件夹中的配置文件中。


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


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

以下是引用狐仙在2008-9-17 13:25:00的发言:

foxtable可否专门写个修改配置文件的小软件,作为独立的程序,用时只要放入程序文件夹,运行时自动打开一个修改的小窗口,修改的数据保存在当前文件夹中的配置文件中。

这也是个好办法啊!在此基础上可以改进如下,在狐表的项目的外部数据源的相关部分加一项属性,打开项目时是否自动加载配置程序,设为True时每次运行该项目时都自动运行小程序,弹出一个窗口,输入IP地址、用户名等,输入确认后系统自动修改连接字符串,然后再继续加载项目;设为False时不弹出该配置程序,直接运行项目;也就是把IP.txt变为系统自带的一个小文件(或者保存在其他文件中),不再需要用户配置,每次启动项目时可动态修改它的内容。建议贺老师可以考虑,这样的实现思路应该是非常简单的,建议贺老师考虑。

[此贴子已经被作者于2008-9-17 14:02:04编辑过]

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


加好友 发短信
等级:婴狐 帖子:82 积分:1202 威望:0 精华:0 注册:2008/9/1 17:51:00
  发帖心情 Post By:2008/9/17 14:42:00 [只看该作者]

哈哈,都是软件高手呀,解决办法都想好了,也许老六下一步应该重视远程连接的问题了!


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


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

以下是引用贺老六在2008-9-17 12:19:00的发言:


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

在此承认并由衷钦佩foxtable的菜单权限管理,只是提议将来启动项目时可以优化,启动背景就加载数据源,并调出用户登录窗口,登陆后的情况我就不说啦


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