(五)、<备份数据>按钮代码:
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.Format = "Access" '指定导出文件格式
ex. PassWord = “TZX_GWY_JT_8888” '用此属性指定目标文件的密码
ex.filepath = dlg.filename '指定目标文件
ex.NewTableName = "调资基础数据" '指定导出后的表的名称
ex.Export() '开始导出数据
MessageBox.Show(备份数据生成完成!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
修改代码(带有数据库加密):
Dim dlg As New SaveFileDialog '指定一个新的SaveFileDialog
dlg.Filter= "备份文件|*.DBF" '设置筛选器
dlg. title= "备份数据"
dlg.OverwritePrompt = False
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
If FileSys.FileExists(dlg.filename) Then '如果指定的文件存在
if Messagebox.Show("有同名文件存在,是否删除?", "提示", MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes then
FileSys.DeleteFile(dlg.filename,2,2) '则彻底删除之
Else
Return
End if
End If
Dim ex as New Exporter
ex.SourceTableName = "调资基础数据" '指定导出表
ex.Format = "Access" '指定导出文件格式
ex. PassWord = "TZX_GWY_JT_8888" '用此属性指定目标文件的密码
ex.filepath = dlg.filename '指定目标文件
ex.NewTableName = "调资基础数据" '指定导出后的表的名称
ex.Export() '开始导出数据
FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)
FileSys.DeleteFile(dlg.filename, 2, 2)
EncryptFile(dlg.filename & ".bak", dlg.filename, "8888")
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)
MessageBox.Show("备份数据生成完成!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
(六)、<恢复数据>按钮代码:
(1)、原代码:
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 ip as New Merger
ip.SourcePath = dlg.filename '指定数据文件
ip.SourceTableName = "调资基础数据" '指定要合并的表
ip.Format = "Access" '指定合并文件格式
ip. PassWord = “TZX_GWY_JT_8888” '用此属性指定合并文件的密码
ip.Fields = “单位名称” ' 指定要合并的字段(列)
ip. DataTableName ="数据接收临时判断" '合并后的表名
ip. Merge() '开始合并
Dim dws As List(Of String) '定义一个字符型数组集合
dws = DataTables("调资基础数据").GetUniqueValues("", "单位名称") '列出所有单位
For each dw As String In dws '逐个单位判断
Dim dr As DataRow = DataTables("数据接收临时判断").find("[单位名称] = '" & dw & "'")
If dr IsNot Nothing Then
If MessageBox.Show( dw & "的记录已经存在,确定是否请删除?","提示",MessageBoxButtons. YesNo,MessageBoxIcon.Question) = DialogResult.Yes then
DataTables("调资基础数据").DeleteFor("[单位名称] = '" & dw & "'")
Else
Return '点击否终止代码的执行
End If
End If
Next
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)
DataTables("数据接收临时判断").DataRows.Clear() '清空指定表数据
End If
(2)、简化代码:
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
(3)、修改代码(带有数据库加密):
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 '如果用户单击了确定按钮
FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)
FileSys.DeleteFile(dlg.filename, 2, 2)
DecryptFile (dlg.filename & ".bak", dlg.filename, "8888")
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)
Dim ip as New Merger
ip.SourcePath = dlg.filename '指定数据文件
ip.SourceTableName = "调资基础数据" '指定要合并的表
ip.Format = "Access" '指定合并文件格式
ip. PassWord = "TZX_GWY_JT_8888" '用此属性指定合并文件的密码
ip.Fields = "单位名称" ' 指定要合并的字段(列)
ip. DataTableName ="数据接收临时判断" '合并后的表名
ip. Merge() '开始合并
Dim dws As List(Of String) '定义一个字符型数组集合
dws = DataTables("调资基础数据").GetUniqueValues("", "单位名称") '列出所有单位
For each dw As String In dws '逐个单位判断
Dim dr As DataRow = DataTables("数据接收临时判断").find("[单位名称] = '" & dw & "'")
If dr IsNot Nothing Then
If MessageBox.Show( dw & "的记录已经存在,确定是否请删除?","提示",MessageBoxButtons. YesNo,MessageBoxIcon.Question) = DialogResult.Yes then
DataTables("调资基础数据").DeleteFor("[单位名称] = '" & dw & "'")
Else
FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)
FileSys.DeleteFile(dlg.filename, 2, 2)
EncryptFile(dlg.filename & ".bak", dlg.filename, "8888")
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)
Return '点击否终止代码的执行
End If
End If
Next
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)
DataTables("数据接收临时判断").DataRows.Clear() '清空指定表数据
FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)
FileSys.DeleteFile(dlg.filename, 2, 2)
EncryptFile(dlg.filename & ".bak", dlg.filename, "8888")
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)
Else
MessageBox.Show( "数据库已被清空!!!","提示",MessageBoxButtons. OK,MessageBoxIcon.Warning)
End If
(4)、修改代码(带有数据库加密)简化代码:
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 '如果用户单击了确定按钮
FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)
FileSys.DeleteFile(dlg.filename, 2, 2)
DecryptFile (dlg.filename & ".bak", dlg.filename, "8888")
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)
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)
FileSys.CopyFile(dlg.filename, dlg.filename & ".bak",False)
FileSys.DeleteFile(dlg.filename, 2, 2)
EncryptFile(dlg.filename & ".bak", dlg.filename, "8888")
FileSys.DeleteFile(dlg.filename & ".bak", 2, 2)
Else
MessageBox.Show( "数据库已被清空!!!","提示",MessageBoxButtons. OK,MessageBoxIcon.Warning)
End If