以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]系统更新数据导入遇到问题,求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158868)

--  作者:sunion
--  发布时间:2020/12/4 22:26:00
--  [求助]系统更新数据导入遇到问题,求助
狐爸、有点蓝老师,遇到个棘手问题请教一下?

 Network.DownloadFile(updatepath & "/update.txt",ProjectPath &"update0.txt")   
    FileSys.WriteAllText(ProjectPath & "update.txt", PublishDate, False, Encoding.Default)
    If FileSys.ReadAllText(ProjectPath & "update.txt") < FileSys.ReadAllText(ProjectPath & "update0.txt")  \'如果当前版本的时间比网络版本时间旧,那就要执行下面程序
     
        \'------------------------------------------------------开始更新
        
        e.form.Topmost = True  \'窗口置顶
        
        \'-----------升级前导出备份数据
        Dim cj As New Exporter
        cj.SourceTableName = "总表" \'指定导出表
        cj.FilePath = "c:\\Data\\总表.xls" \'指定目标文件
        cj.Format = "Excel" \'导出格式为Excel
        cj.Export() \'开始导出

        
        \'---------------------系统升级
        Syscmd.Project.Update()       \'这里出现了问题,不管系统更新成不成功下面的数据都会导入?如何修改,使得项目时间小于网络更新的时间的时候才导入?也就是系统更新了才导入,否则不导入数据?
       
        
        \'--------升级后导入数据
        Dim mg As New Merger
        mg.SourcePath = "c:\\Data\\总表.xls"
        mg.Format = "excel" \'指定格式
        mg.SourceTableName = "总表$" \'指定要合并的表
        mg.DataTableName = "总表" \'指定接收数据的表
        mg.Merge() \'开始合并
        DataTables("总表").Save(True)
        
        
        \'-----------------删除文件---------------------
        If FileSys.FileExists("c:\\Data\\总表.xls") Then \'如果指定的文件存在
            FileSys.DeleteFile("c:\\Data\\总表.xls",2,2) \'则彻底删除之
        End If
        
        \'-------------------------------------------------------
        
        FileSys.DeleteFile(ProjectPath & "update.txt",2,2) \'则彻底删除原来旧时间
        Network.DownloadFile(updatepath & "/update.txt",ProjectPath &"update.txt")   \'下载最新时间

    Else

        MessageBox.Show("已经是最新版本,不需要更新!")

    End If

[此贴子已经被作者于2020/12/4 22:27:32编辑过]

--  作者:有点蓝
--  发布时间:2020/12/5 9:38:00
--  
if  Syscmd.Project.Update() = false then
导入的代码
endif