以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于在配置文件中设置数据库连接问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147967)

--  作者:lemonkashi
--  发布时间:2020/3/28 10:31:00
--  关于在配置文件中设置数据库连接问题
问题:
每次在本地修改完成程序 更新到其他电脑上都要重新设置一下 数据源。

能做在配置文件里面 然后程序启动的时候读取本地的测试文件  。

我在 BeforeConnectOuterDataSource 事件中写如下代码  然后故意修改数据名称 导致之前手工配置的连接无法生效,看看程序是否能通过该事件读取config.txt配置文件连接到数据库,测试发现这个事件没起作用  messagebox 相关弹出信息也没触发,不知道是哪里还需要修改。  谢谢

Dim configFile As String = e.ProjectPath & "config.txt"
 

If e.Name = "OA" Then
    If Filesys.FileExists(configFile) Then
        Dim config As String = FileSys.ReadAllText(configFile)
        messagebox.Show(config)
        e.ConnectionString = config
    End If
End If


--  作者:有点蓝
--  发布时间:2020/3/28 10:45:00
--  
config.txt放到项目目录里,如果是发布后的程序,在发布窗口添加到附件中。
--  作者:lemonkashi
--  发布时间:2020/3/28 10:53:00
--  
应该是放的没错啊  请见附件截图
图片点击可在新窗口打开查看此主题相关图片如下:2020-03-28_105123.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/3/28 11:07:00
--  
我测试 没有问题,如果被启动画面挡住了弹出窗口,可以加一句代码

Dim configFile As String = e.ProjectPath & "config.txt"

If e.Name = "OA" Then
    If Filesys.FileExists(configFile) Then
        Dim config As String = FileSys.ReadAllText(configFile)
        e.HideSplashForm = True
        messagebox.Show(config)
        e.ConnectionString = config
    End If
End If

--  作者:lemonkashi
--  发布时间:2020/3/28 11:52:00
--  
BeforeConnectOuterDataSource  在项目启动的过程中 我感觉根本就没有触发,我把之前手工配置的数据源删除了 在重新配置数据源 点确定按钮的时候 触发了该事件 弹出我在BeforeConnectOuterDataSource 设置messagebox窗口。 



--  作者:lemonkashi
--  发布时间:2020/3/28 12:05:00
--  
新增外部数据源 配置完成点击确定的时候 触发这个事件。但是在整个项目启动过程中 或者外部数据源连接失败的时候  都没触发这个事情 怎么回事。
我记得是在AfterOpenProject事件之前发生

帮助文档写的也是如下:

以下几个事件在AfterOpenProject事件之前触发执行:

BeforeOpenProject
BeforeConnectOuterDataSource
BeforeLoadInnerTable
BeforeLoadOuterTable
Initialize




--  作者:有点蓝
--  发布时间:2020/3/28 13:46:00
--  
有添加数据源了吗,至少要添加一个数据源才能触发
--  作者:lemonkashi
--  发布时间:2020/3/28 17:44:00
--  
数据源确实添加了 我在2019 2020版本都测试了 都不行 我用别的办法解决吧。


--  作者:有点蓝
--  发布时间:2020/3/28 17:49:00
--  
不可能的。我测试没有任何问题,请上传实例说明。

或者删除项目里的bin目录,重启项目试试

--  作者:lemonkashi
--  发布时间:2020/3/28 18:07:00
--  
删除项目里的bin目录,重启项目试试

这个办法可以  那我以后要不要每次关闭项目的时候把这个文件夹清楚一下。