以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助:利用代码实现了遍历表然后全部导出为一个数据库 现在怎么反过来进行恢复操作呢?怎么操作都没有成功  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=63175)

--  作者:李孝春
--  发布时间: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
--  发布时间:2015/1/15 11:56:00
--  
你要用合并,而不是导入


--  作者:李孝春
--  发布时间:2015/1/15 11:57:00
--  回复:(Bin)你要用合并,而不是导入http://www.foxta...
合并也无从下手 因为数据库中含有多个表
--  作者:Bin
--  发布时间: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

--  作者:李孝春
--  发布时间:2015/1/15 14:49:00
--  回复:(Bin)遍历一下数据库中的表即可for each dt a...
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无法导入

--  作者:李孝春
--  发布时间:2015/1/15 14:52:00
--  回复:(Bin)你要用合并,而不是导入http://www.foxta...
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 那么合并也无法进行!

--  作者:有点甜
--  发布时间:2015/1/15 14:52:00
--  

 没必要这样导出导入啊。

 

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

 

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


--  作者:李孝春
--  发布时间:2015/1/15 15:01:00
--  回复:(有点甜) 没必要这样导出导入啊。&nbs...
想学习一下思路
因为项目在编写时候 有部分是ACC有部分是SQL 然后两个数据库的表不一样 所以我想实现项目所有表都备份  这个目前已经实现

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



--  作者:有点甜
--  发布时间:2015/1/15 15:04:00
--  

 动态添加数据源,取出表名

 

http://www.foxtable.com/help/topics/1944.htm

 

http://www.foxtable.com/help/topics/1943.htm

 


--  作者:李孝春
--  发布时间:2015/1/15 15:12:00
--  回复:(有点甜) 动态添加数据源,取出表名&n...
有点甜老师 楼上两个外部数据源好像只能是项目已设定了的项目数据源吧 

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