以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于数据表备份 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51466) |
|
-- 作者:aimanbao233 -- 发布时间:2014/5/27 10:23:00 -- [求助]关于数据表备份 本人编了个经营软件,有七八个数据表,想编个备份和恢复按钮,实现所有数据表的备份和恢复(或者说是一键导入、一键导出),请问如何实现? 找到论坛里有下述代码: Dim dlg As New SaveFileDialog \'指定一个新的SaveFileDialog dlg.Filter= "备份文件|*.DBF " \'设置筛选器 dlg.title= "备份数据" dlg.OverwritePrompt = True \'对于已经存在的文件名,是否出现覆盖警告 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 If FileSys.FileExists(dlg.filename) Then \'如果指定的文件存在 FileSys.DeleteFile(dlg.filename,2,2) \'则彻底删除之 End If Dim ex As New Exporter ex.SourceTableName = "合作单位表" \'指定导出表 ex.SourceTableName = "工程清单表" \'指定导出表 ex.SourceTableName = "合同清单表" \'指定导出表 ex.SourceTableName = "客户名单表" \'指定导出表 ex.SourceTableName = "事务清单表" \'指定导出表 ex.SourceTableName = "收款明细表" \'指定导出表 ex.SourceTableName = "收款清单表" \'指定导出表 ex.Format = "excel" \'指定导出文件格式 \'ex. PassWord = "TZX_GWY_JT_8888" \'用此属性指定目标文件的密码 ex.filepath = dlg.filename \'指定目标文件 ex.NewTableName = "合作单位表" \'指定导出后的表的名称 ex.NewTableName = "工程清单表" \'指定导出后的表的名称 ex.NewTableName = "合同清单表" \'指定导出后的表的名称 ex.NewTableName = "客户名单表" \'指定导出后的表的名称 ex.NewTableName = "事务清单表" \'指定导出后的表的名称 ex.NewTableName = "收款明细表" \'指定导出后的表的名称 ex.NewTableName = "收款清单表" \'指定导出后的表的名称 ex.Export() \'开始导出数据 MessageBox.Show("备份数据生成完成!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) End If 运行后提示“不能更新。数据库或对象为只读。”,请问如何解决?另不知上述代码能够实现我想要的功能?
|
|
-- 作者:Bin -- 发布时间:2014/5/27 10:33:00 -- Dim dlg As New SaveFileDialog \'指定一个新的SaveFileDialog dlg.Filter= "备份文件|*.DBF " \'设置筛选器 dlg.title= "备份数据" dlg.OverwritePrompt = True \'对于已经存在的文件名,是否出现覆盖警告 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 If FileSys.FileExists(dlg.filename) Then \'如果指定的文件存在 FileSys.DeleteFile(dlg.filename,2,2) \'则彻底删除之 End If for each dt as datatable in datatables Dim ex As New Exporter ex.SourceTableName=dt.name ex.filepath = dlg.filename & "\\备份数据源.MDB" ex.Export() next End If |
|
-- 作者:aimanbao233 -- 发布时间:2014/5/27 11:15:00 -- 改成下述代码,可以生成一个数据表EXCEL文件,但是EXCEL文件打开的时候说是 ![]() Dim dlg As New SaveFileDialog \'指定一个新的SaveFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 dlg.title= "备份数据" dlg.OverwritePrompt = True \'对于已经存在的文件名,是否出现覆盖警告 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 If FileSys.FileExists(dlg.filename) Then \'如果指定的文件存在 FileSys.DeleteFile(dlg.filename,2,2) \'则彻底删除之 End If For Each dt As DataTable In DataTables Dim ex As New Exporter ex.SourceTableName=dt.name ex.filepath = dlg.filename ex.Export() Next End If
|
|
-- 作者:Bin -- 发布时间:2014/5/27 11:16:00 -- 看2楼. 这种方式是生成MDB ACCESS文件. |
|
-- 作者:aimanbao233 -- 发布时间:2014/5/27 11:29:00 -- 完全采用2楼代码,会出现如下错误提示。 \'C:\\Users\\lenovo\\Desktop\\备份资料.DBF \\备份数据源.MDB\'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。请问如何解决? 弱弱问下,既然是生成MDB文件,开始设置的DBF是何意? 跪谢!
|
|
-- 作者:Bin -- 发布时间:2014/5/27 11:33:00 -- 我搞错了
|
|
-- 作者:aimanbao233 -- 发布时间:2014/5/27 11:48:00 -- 万分感谢!已实现备份功能,后面再倒腾倒腾数据恢复功能。 |