Foxtable(狐表)用户栏目专家坐堂 → 想在连接外部数据源时先建立一个目录


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

主题:想在连接外部数据源时先建立一个目录

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
想在连接外部数据源时先建立一个目录  发帖心情 Post By:2020/2/26 23:41:00 [只看该作者]

有个数据源是放在D:\x目录下,为了能让系统能自动安装,采取以下方法:
在项目的BeforeConnectOuterDataSource事件里,输入以下代码:

Dim path As String=projectpath & "attachments"  
Dim dir As String=path & "\Y"
    If FileSys.DirectoryExists("D:\X")=False  Then   '如果D盘根目录下文件夹X不存在
     
 FileSys.CopyDirectory (dir,"D:\X", True)  '将Y目录拷贝到D盘的X目录下

 End If

将D盘下的目录X删除,在项目的开发文件上可以自动建立,但发布后,进行测试,却说找不到数据源,为什么?如何才能实现在连接数据源之前将数据源的目录建立好,避免出错?谢谢!


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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/2/27 1:21:00 [只看该作者]

 If FileSys.DirectoryExists("D:\X")=False  Then   '如果D盘根目录下文件夹X不存在
    FileSys.CreateDirectory("d:\Y") '先创建目录
 FileSys.CopyDirectory (dir,"D:\X", True)  '将Y目录内容拷贝到D盘的X目录下

  endif


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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/27 20:45:00 [只看该作者]

应该不是要建立目录的问题。我把D盘的目录删除后,打开开发版,是可以直接复制目录的,但发布后为什么就不行了呢

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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/2/27 21:43:00 [只看该作者]

哦,是的可以直接复制目录及其内容
那就是合成的dir目录出问题了
Dim path As String=projectpath & "attachments"  
Dim dir As String=path & "\Y"
    If FileSys.DirectoryExists("D:\X")=False  Then   '如果D盘根目录下文件夹X不存在
 messagebox.show(dir)    
 FileSys.CopyDirectory (dir,"D:\X", True)  '将Y目录拷贝到D盘的X目录下

 End If
看看发布前及发布后有什么不同

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/27 21:47:00 [只看该作者]

看过了,没问题的。发布前可以,就说明代码没问题。问题在升级前,先去连接数据源

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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/27 23:01:00 [只看该作者]


[此贴子已经被作者于2020/2/27 23:04:07编辑过]

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/28 9:50:00 [只看该作者]

projectpath 改为 e.ProjectPath

BeforeConnectOuterDataSource

这个事件是专业用户才用得着的,普通用户不需要研究它。
准备连接外部数据源的时候执行,可以在此修改连接字符串。

e参数属性:

Name:             外部数据源名称
User:             登录用户
ProjectFile:      项目文件名,含路径。
ProjectPath:      返回项目文件所在目录 
ConnectionString: 返回或设置连接字符串。
HideSplashForm:  逻辑型,设为True,关闭Foxtable的启动封面。


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


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2020/2/28 22:20:00 [只看该作者]

谢谢!

 回到顶部