Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
昨天就认真测试外部数据源的管理,今天又看了另一位老兄的例子,我终于明白问题在哪儿了.目前的外部数据源是在打开项目时自动加载的,而且在加载外部数据源时,还没有加载内部表(包括内部表的窗口),所以在项目事件BeforeConnectOuterDataSource中设置相关参数时窗口、表都不能用。尽管系统命令中有一个Syscmd.Project.ModifyOuterDataSource()命令,但这个命令是打开外部数据源管理窗口,虽然可以设置相关功能但使用很不方便!我认为系统中应该增加一个“外部数据源”对像,提供的属性包括:外部数据源名称,用户名,密码,IP地址,数据库名称等,提供的方法包括:连接外部数据源,断开外部数据源等。这样,用户就可以在事件中以编码的方式动态加载新的外部数据源,甚至卸载外部数据源(当然卸载外部数据源可能会造成意外后果,但这应由用户自己控制,还是应该有这个方法),这要比用Syscmd.Project.ModifyOuterDataSource()命令或菜单打开外部数据源管理窗口方便多了。如果这样改进,只需要增加一个新的对象,对系统的原有功能和系统启动没有任何影响,可能比昨天大家提的几个建议都要好(昨天提的建议包括增加独立于表的窗口、改变加载顺序、增加一个独立的编辑外部数据源设置文本的小程序等),建议贺老师认真考虑。
BeforeConnectOuterDataSource
这个事件是专业用户才用得着的,我们不需要研究它。
准备连接外部数据源的时候执行,可以在此修改连接字符串。
e参数属性:
Name: 外部数据源名称
User: 登录用户
ProjectFile: 项目文件名,含路径。
ProjectPath: 返回项目文件所在目录
ConnectionString: 返回或设置连接字符串。
有两点要注意:
FoxTable使用的数据提供程序是OLE DB .NET。
数据源最好是SQL SERVER 或者 ACCESS。
利用本事件,可以根据登录用户的不同,通过修改e参数的ConnectionString属性,链接到不同的后台数据库。
BeforeConnectOuterDataSource
这个事件是专业用户才用得着的,我们不需要研究它。
准备连接外部数据源的时候执行,可以在此修改连接字符串。
e参数属性:
Name: 外部数据源名称
User: 登录用户
ProjectFile: 项目文件名,含路径。
ProjectPath: 返回项目文件所在目录
ConnectionString: 返回或设置连接字符串。
……………………