Foxtable(狐表)用户栏目专家坐堂 → 将数据库的所有表导出为excel,Export只能导出已经加载的表?没有加载的表怎么导出呢?


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

主题:将数据库的所有表导出为excel,Export只能导出已经加载的表?没有加载的表怎么导出呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
将数据库的所有表导出为excel,Export只能导出已经加载的表?没有加载的表怎么导出呢?  发帖心情 Post By:2023/2/14 10:13:00 [只看该作者]


将数据库的所有表导出为excel,Export只能导出已经加载的表?没有加载的表怎么导出呢?


当前代码如下:
Dim ex As New Exporter
Dim lst As List(Of String)
lst = Connections("12+3").GetTableNames
For Each nm As String In lst
    Output.Show(nm)
    ex.SourceTableName = nm '指定导出表
    ex.FilePath = "D:\SQL_Backup\" & nm & ".xls" '指定目标文件
    ex.Format = "Excel" '导出格式为Excel
    ex.Export() '开始导出
Next

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


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

只能加载了再导,建议导出为mdb数据库

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)只能加载了再导,建议导出为mdb数据库...  发帖心情 Post By:2023/2/14 10:19:00 [只看该作者]

导出为mdb数据库
然后再导入的时候  会不会覆盖之前的数据呢?
同样是多个地区导出为mdb数据库,要把这些数据库汇总在一起

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


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

导入的时候  会不会覆盖之前的数据和mdb还是execl没有一分钱的关系。看怎么导入的了?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)导入的时候  会不会覆盖之前的数...  发帖心情 Post By:2023/2/14 10:27:00 [只看该作者]

老师我想实现导入汇总  怎么操作呢?
是直接执行代码Importer导入操作么?

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


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


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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)http://www.foxtable.com/webhelp/to...  发帖心情 Post By:2023/2/14 10:51:00 [只看该作者]

Dim lst As List(Of String)
lst = Connections("12+3").GetTableNames
For Each nm As String In lst
    Output.Show(nm)
    If DataTables.Contains(nm) = False Then
        DataTables.Load(nm)'加载订单表,
    End If
Next

老师  动态加载表是不是这样呢?我操作了之后  没有实际加载进来……


如果采用:
Dim lst As List(Of String)
lst = Connections("12+3").GetTableNames
Dim q As new OuterTableBuilder
For Each nm As String In lst
    'Output.Show(nm)
    If DataTables.Contains(nm) = False Then   
        
        q.TableName = nm
        q.TableCaption = nm
        q.C
        q.Sele ctString = "Sel ect * From {"& nm & "}"
        q.Build
    End If
Next
可以加载大部分表,少量表提示如下错误:
---------------------------
错误
---------------------------
加载表"回复函"失败,详细错误信息:

System.InvalidOperationException: 对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。

---------------------------
确定   
---------------------------

[此贴子已经被作者于2023/2/14 11:12:24编辑过]

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


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

错误的意思是这个表没有主键,无法加载

 回到顶部