以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 关于数据的备份和恢复 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48219) |
-- 作者:fengyungongzi -- 发布时间:2014/3/25 13:32:00 -- [求助] 关于数据的备份和恢复
我设计的软件里面有20个表,我想设计一个按钮,点击后,能对20个表中有选择性的进行备份,在设计另一
个按钮,能进行对指定表的恢复。求思路和代码。请给以帮助,谢谢了。 |
-- 作者:Bin -- 发布时间:2014/3/25 14:33:00 -- 你希望的备份方式是怎么样的呢? 导出为ACCESS文件? 恢复的时候清空表从新导入? 数据量大的话效率非常差的哦.
|
-- 作者:fengyungongzi -- 发布时间:2014/3/25 15:44:00 -- 是的。
我从论坛用的别人的代码
数据备代码: Dim dlg As New SaveFileDialog \'定一个新的SaveFileDialog
红字部分为我不太懂的地方,请帮忙解释。运行后,告诉我找不到data.mdb [此贴子已经被作者于2014-3-25 15:45:15编辑过]
|
-- 作者:Bin -- 发布时间:2014/3/25 15:47:00 -- 第一个部分,设置根目录 第二个部分,复制文件到这个目录http://www.foxtable.com/help/topics/0342.htm
|
-- 作者:Bin -- 发布时间:2014/3/25 15:47:00 -- 但是这个是备份整个数据源哦. |
-- 作者:fengyungongzi -- 发布时间:2014/3/25 15:53:00 --
数据备份用 这个代码行吗:
Dim dlg As New SaveFileDialog \'指定一个新的SaveFileDialog dlg. title= "备份数据" If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 If FileSys.FileExists(dlg.filename) Then \'如果指定的文件存在 ex.Format = "Access" \'指定导出文件格式 ex.filepath = dlg.filename \'指定目标文件 ex.NewTableName = "调资基础数据" \'指定导出后的表的名称 ex.Export() \'开始导出数据
恢复时用的这个代码:
If MessageBox.Show( "恢复数据库操作将清空数据库,确定是否清空?","提示",MessageBoxButtons. YesNo,MessageBoxIcon.Question) = DialogResult.Yes then DataTables("调资基础数据").DataRows.Clear() \'清空指定表数据 Else Return \'点击否终止代码的执行 End If Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "备份文件|*.DBF" \'设置筛选器 dlg. title= "数据恢复" If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim mg As New Merger mg.SourcePath = dlg.filename mg.SourceTableName = "调资基础数据" mg.Format = "Access" mg. PassWord = "TZX_GWY_JT_8888" mg.DataTableName = "调资基础数据" mg.Merge() MessageBox.Show("数据恢复完成!!!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question) Else MessageBox.Show( "数据库已被清空!!!","提示",MessageBoxButtons. OK,MessageBoxIcon.Warning) End If
数据备份时,告诉我备份成功了。但我用foxtable中的导入功能时告诉我。
我用数据恢复后,他把我原来的表都清空了,但没有导入我以前备份的表。 [此贴子已经被作者于2014-3-25 15:54:10编辑过]
|
-- 作者:fengyungongzi -- 发布时间:2014/3/25 15:59:00 -- 老师在吗???
|
-- 作者:Bin -- 发布时间:2014/3/25 16:02:00 -- 代码看上去似乎没有问题,你手动使用菜单功能合并你备份的这个文件看看是否有同样的问题出现. |
-- 作者:fengyungongzi -- 发布时间:2014/3/25 16:09:00 -- 用合并后,出现这个提示。
|
-- 作者:Bin -- 发布时间:2014/3/25 16:13:00 -- 参考这里 示例二 如果希望打开一个保存文件对话框,导出到用户指定的文件中,可以参考下面的代码: Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog 示例三 将订单表导出为Access 2007格式: Dim ex as New Exporter 不要设置ex.Format = "Access" |