以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  切换数据源出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177111)

--  作者:happyft
--  发布时间:2022/5/9 16:21:00
--  切换数据源出错
Dim s As String
    s = "Provider=SQLOLEDB.1;Password=" & dbPwd & ";Persist Security Info=True;User ID=" & dbUser & ";Initial Catalog=" & dbName & ";Data Source=" & Path & "," & dbPort & ")"
    
    \'先卸载原数据源的表
    DataTables.Unload("IPSet")
    Connections.Delete("test")
    
    \'重新按新数据源打开项目
    Syscmd.Project.Open(ProjectPath & "Connection.foxdb", s)
    e.Form.close

用新的数据源连接字符重新打开项目时如何删除旧数据源中的表及数据源,用上面红色的代码没有用,会提示出错

图片点击可在新窗口打开查看此主题相关图片如下:oa流程.jpg
图片点击可在新窗口打开查看

谢谢!



--  作者:有点蓝
--  发布时间:2022/5/9 16:24:00
--  
彻底删除数据库里的表?参考:http://www.foxtable.com/webhelp/topics/2122.htm
--  作者:HappyFt
--  发布时间:2022/5/9 16:41:00
--  
是否删除旧数据源的表倒是无所谓,主要是切换数据源后如果不处理,原来的数据源及其加载的表会怎么样,自动消失吗?不知道那个错误是怎么出现的?
--  作者:有点蓝
--  发布时间:2022/5/9 16:54:00
--  
不知道具体怎么切换数据源的。切换数据源前要自己卸载旧数据源的所有表,否则肯定会出错。
--  作者:HappyFt
--  发布时间:2022/5/9 17:11:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:oa流程.jpg
图片点击可在新窗口打开查看

旧的数据源test是一个access的数据库,下面就一个IPSet的表,如上面结构,存储了实际的数据库连接参数而已,用其拼接成新的数据源连接字符串.
一楼的红色代码已经卸载了这个表及删除的旧的数据源,但还是会出错

--  作者:有点蓝
--  发布时间:2022/5/9 17:20:00
--  
请上传实例说明。

或者看看这个:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:选择数据源.zip

--  作者:HappyFt
--  发布时间:2022/5/9 22:34:00
--  
可以了,
如果想在AfterOpenProject事件中根据用户打开项目时是否按下键盘上某个按键如Alt键,来确定是否显示数据源设置的窗口,此时应该如何判断是否按下某个键?
谢谢!

--  作者:有点蓝
--  发布时间:2022/5/9 22:50:00
--  
If (System.Windows.Forms.Control.ModifierKeys And Keys.Control) = Keys.Control Then
    MessageBox.Show("Ctrl健被按下")
End If