Foxtable(狐表)用户栏目专家坐堂 → 求助:利用代码实现了遍历表然后全部导出为一个数据库 现在怎么反过来进行恢复操作呢?怎么操作都没有成功


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

主题:求助:利用代码实现了遍历表然后全部导出为一个数据库 现在怎么反过来进行恢复操作呢?怎么操作都没有成功

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:利用代码实现了遍历表然后全部导出为一个数据库 现在怎么反过来进行恢复操作呢?怎么操作都没有成功  发帖心情 Post By:2015/1/15 11:55:00 [只看该作者]

For Each dt As DataTable In DataTables
    If dt.Type=1 OrElse dt.Type =3 Then
        output.show(dt.name)
        Dim ex As New Exporter
        ex.SourceTableName = dt.name '指定导出表
        ex.filepath = "c:\Data\订单.mdb" '指定目标文件
        ex.Export()
    End If
Next

 

 

示例二

如果希望出现一个打开文件对话框,导入用户指定的文件,可以参考下面的代码:

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName '指定数据文件
    ip.SourceTableName = "订单" '指定要导入的表
    ip.NewTableName ="订单" '导入后的表名
    ip.Import()
End If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/15 11:56:00 [只看该作者]

你要用合并,而不是导入


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(Bin)你要用合并,而不是导入http://www.foxta...  发帖心情 Post By:2015/1/15 11:57:00 [只看该作者]

合并也无从下手 因为数据库中含有多个表

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/15 11:59:00 [只看该作者]

遍历一下数据库中的表即可

for each dt as datatable in datatables
   Dim ip As New Importer
    ip.SourcePath = dlg.FileName '指定数据文件
    ip.SourceTableName = dt.name '指定要导入的表
    ip.NewTableName =dt.name '导入后的表名
    ip.Import()
next

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(Bin)遍历一下数据库中的表即可for each dt a...  发帖心情 Post By:2015/1/15 14:49:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    For Each dt As DataTable In DataTables
        Dim ip As New Importer
        ip.SourcePath = dlg.FileName '指定数据文件
        ip.SourceTableName = dt.name '指定要导入的表
        ip.NewTableName =dt.name '导入后的表名
        ip.Import()
    Next
End If

这样操作只能将项目中已经存在的表进行遍历导入
比如项目已经有了表A B C  所选择的数据库假设有不表A B C D  E 余下的 D E无法导入

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(Bin)你要用合并,而不是导入http://www.foxta...  发帖心情 Post By:2015/1/15 14:52:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    For Each dt As DataTable In DataTables
        
        Dim mg As New Merger
        mg.SourcePath = dlg.FileName
        mg.SourceTableName = dt.name
        mg.DataTableName = dt.name
        mg.Merge()
    Next
End If

如果是合并 同样遇见一个问题 那就是选择的数据库没有对应的表 也无法合并 比如数据库没有表ABC 那么合并也无法进行!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/15 14:52:00 [只看该作者]

 没必要这样导出导入啊。

 

 备份,就直接拷贝access数据库,还原,就直接覆盖掉原来的数据库啊。

 

 你是不是应该用合并,而不是导入啊


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜) 没必要这样导出导入啊。&nbs...  发帖心情 Post By:2015/1/15 15:01:00 [只看该作者]

想学习一下思路
因为项目在编写时候 有部分是ACC有部分是SQL 然后两个数据库的表不一样 所以我想实现项目所有表都备份  这个目前已经实现

现在我想进行数据导入 求解!



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/15 15:04:00 [只看该作者]


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜) 动态添加数据源,取出表名&n...  发帖心情 Post By:2015/1/15 15:12:00 [只看该作者]

有点甜老师 楼上两个外部数据源好像只能是项目已设定了的项目数据源吧 

对于需要导入的数据库源相关表数据 能不能读哦

 回到顶部
总数 34 1 2 3 4 下一页