以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  e.ConnectionString 为什么没执行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136141)

--  作者:石四
--  发布时间:2019/6/8 13:59:00
--  e.ConnectionString 为什么没执行?
想实现外部数据库连接不上时,转向连接本地备用数据库。

BeforeConnectOuterDataSource:

If e.name = "dd" Then
If Network.Ping("192.168.1.147",1000) = False  Then \'如果IP无法接通
e.HideSplashForm = True
        Dim Result As DialogResult
        Result = MessageBox.Show("数据库连接异常!连接本地备用数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
         e.C";Data Source=D:\\备用系统\\dd.MDB;Persist Security Info=True;Jet OLEDB:Database Password=xxxxxx"
        End If
    End If
End If

点提示框“确定“按钮,然后就没有然后了,没有连接本地数据库

--  作者:有点蓝
--  发布时间:2019/6/8 14:08:00
--  
我测试没有问题。项目启动后打开命令窗口查看一下ConnectionString

Output.Show(Connections("dd").ConnectionString)

注意的是,使用代码更改的数据源设置是不会影响到菜单的数据源设置的。

--  作者:石四
--  发布时间:2019/6/8 14:24:00
--  
没法测试,把网断了连不上数据源打不开项目。接上网连的是正常的数据库,不是本地备用数据库。
--  作者:石四
--  发布时间:2019/6/8 14:29:00
--  

Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=D:\\备用系统\\dd.MDB;Persist Security Info=True;Jet OLEDB:Database Password=xxxxxx
这段代码没错,是在设置数据源窗口复制下来的。

--  作者:石四
--  发布时间:2019/6/8 14:38:00
--  
MessageBox.Show("数据库连接异常!连接本地备用数据库?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
这个提示框没弹出。
弹出的是:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190608143732.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/6/8 14:51:00
--  
断网的情况下是不能使用Network.Ping的,加一个判断:http://www.foxtable.com/webhelp/scr/2709.htm

If TryConnectHost("192.168.1.147") = False OrElse Network.Ping("192.168.1.147",1000) = False  Then \'如果IP无法接通

--  作者:石四
--  发布时间:2019/6/8 15:23:00
--  
改为If TryConnectHost("192.168.1.147") = False OrElse Network.Ping("192.168.1.147",1000) = False  Then \'
后这个提示框出来了,点了”是“依然没有下文

此主题相关图片如下:微信截图_20190608151734.png
按此在新窗口浏览图片
点”否“就出现下面这个提示框

此主题相关图片如下:微信截图_20190608143732.png
按此在新窗口浏览图片
都是没有继续执行

Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=D:\\备用系统\\dd.MDB;Persist Security Info=True;Jet OLEDB:Database Password=xxxxxx


--  作者:有点蓝
--  发布时间:2019/6/8 15:34:00
--  
我测试没有问题,请确保客户端电脑有这个路径的文件:D:\\备用系统\\dd.MDB
--  作者:石四
--  发布时间:2019/6/8 15:39:00
--  
有的,我用”开发者“账号进入,手动修改为本地数据库都能连上打开项目。
--  作者:石四
--  发布时间:2019/6/8 15:40:00
--  
我另外做个测试项目再试试。