Foxtable(狐表)用户栏目专家坐堂 → 数据源加载问题


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

主题:数据源加载问题

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


加好友 发短信
等级:童狐 帖子:285 积分:2887 威望:0 精华:0 注册:2015/12/21 13:35:00
数据源加载问题  发帖心情 Post By:2019/2/21 10:22:00 [只看该作者]

问题1:
A数据源有三张表

B数据源有两张表

如何将A,B数据源的表都在打开项目时加载进来呢?

问题2:

问题1:
A数据源有五张表(包括B数据源的两张)

B数据源有两张表

如何将A(不加载B数据源的表),B数据源的表都在打开项目时加载进来呢?






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


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

直接在外部表管理哪里把需要的表添加进来就可以了。这样做有什么问题?

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


加好友 发短信
等级:童狐 帖子:285 积分:2887 威望:0 精华:0 注册:2015/12/21 13:35:00
数据源加载问题  发帖心情 Post By:2019/2/21 11:07:00 [只看该作者]


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

问题是:只会加载最后一个数据源的数据表
我的数据源是根据业务判断来加载的

[此贴子已经被作者于2019/2/21 11:10:16编辑过]

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


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

这个事件的帮助写了很详细了呀

如果有多个数据源,可以:

If e.name = "数据源1" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"数据文件1.mdb;Persist Security Info=False"
ElseIf e.name = "数据源2" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"数据文件2.mdb;Persist Security Info=False"

End
 if


e参数属性:

Name:             外部数据源名称


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


加好友 发短信
等级:幼狐 帖子:167 积分:1803 威望:0 精华:0 注册:2018/1/26 16:11:00
  发帖心情 Post By:2019/2/21 11:25:00 [只看该作者]

设置为不同的数据源名称,按需加载

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


加好友 发短信
等级:童狐 帖子:285 积分:2887 威望:0 精华:0 注册:2015/12/21 13:35:00
这个写可以吗?  发帖心情 Post By:2019/2/21 11:32:00 [只看该作者]


此主题相关图片如下:qq截图20190221112945.png
按此在新窗口浏览图片

A数据源有五张表(包括B数据源的两张)

B数据源有两张表

如果同时加载,A中的表会把B中的表覆盖掉!
[此贴子已经被作者于2019/2/21 11:33:43编辑过]

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


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

不要写到一起啊!!!

如果有多个数据源,可以:

If e.name = "数据源1" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"数据文件1.mdb;Persist Security Info=False"
ElseIf e.name = "数据源2" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & 
"数据文件2.mdb;Persist Security Info=False"

End
 if


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


加好友 发短信
等级:童狐 帖子:285 积分:2887 威望:0 精华:0 注册:2015/12/21 13:35:00
明明数据源里有表却提示错误  发帖心情 Post By:2019/2/21 12:01:00 [只看该作者]

按照你说的去做了,但有错误!如图


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


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


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


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

肯定是连接错数据源了,贴出完整代码,或者上传实例说明

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


加好友 发短信
等级:童狐 帖子:285 积分:2887 威望:0 精华:0 注册:2015/12/21 13:35:00
代码  发帖心情 Post By:2019/2/21 12:10:00 [只看该作者]

只有这一个表有问题,其他的没问题!
手动去加入这个外部表时,说表已经存在,输出表结构并未看到该表


'根据要求链接的数据库位置不同
If e.User.Type <> UserTypeEnum.Developer Then
    If e.Name = "youfoeData" Then
        e.C & e.ProjectPath & "Source\Data\youfoeData.mdb;Persist Security Info=True;Jet OLEDB:Database Password=***"
    ElseIf e.Name = "settings"
        e.C & e.ProjectPath & "Source\Data\settings.mdb;Persist Security Info=True;Jet OLEDB:Database Password=***"
    End If
Else
    Dim net As Boolean = True
    Dim path As String = e.ProjectPath  & "***'设置文件存放路径
    If e.Name = "youfoeData" Then
        
        '判断指定文件夹里是否有链接字符串的指定文档
        Dim file As String = path & "str.txt"
        
        If FileSys.FileExists(file) Then
            '如果有,则取字符串作为链接字符串(网络版时才需要链接)
            Dim s As String = FileSys.ReadAllText(file, Encoding.Default)

            
            If Connections.TryConnect(s)  Then
                e.ConnectionString = s
            Else
                net = False
            End If
        Else
            net = False
        End If
        
        '如果没有,则链接默认的数据库
        If net = False Then
            
            Dim str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & path & "youfoeData.mdb;Persist Security Info=True;Jet OLEDB:Database Password=***"
            If Connections.TryConnect(str)  Then
                e.ConnectionString = str
            Else
                e.EditConnectionString()
            End If
        End If
    ElseIf e.Name = "settings"
        e.C & path & "settings.mdb;Persist Security Info=True;Jet OLEDB:Database Password=***"
    End If
    
End If
[此贴子已经被作者于2019/2/21 13:14:30编辑过]

 回到顶部
总数 13 1 2 下一页