redmg 发表于 2008-9-24 23:53:30

自动升级

网上的太过复杂,不适用!
其实很简单。

自动升级源码:可保存历史版本信息

在主程序 open 事件中 加入以下代码

string lsNewVer, lsSysName, lsOldVer
lsSysName = upper(ProfileString(is_updateini, 'Config', 'sysName', 'xsbd'))
select isnull(max(version),'')into :lsNewVer from sys_verfile where upper(systemname) = :lsSysName;
lsOldVer = ProfileString(is_updateini, 'Config', 'version', '1.0')
if lsOldVer < lsNewVer then
        if MessageBox('系统升级','当前程序已有新版本,~r~r是否马上升级?',Question!, YesNo!, 1) = 1 then
                run('update.exe')
                halt
        end if
end if

升级需要用到的数据表:
CREATE TABLE sys_verfile
(
systemname varchar(20) not NULL,
version varchar(20) NOT NULL,
filename varchar(40) NOT NULL,
filesize int NULL,
filebody image NULL,
fileupdate datetime null,
CONSTRAINT pk_fn PRIMARY KEY (systemname, filename,filebodyid )
);

ehxz 发表于 2008-9-25 08:39:21

加个精华先,不过PB11的版本的话估计能用的人少些

decalove 发表于 2009-4-8 22:56:08

重要的是注意对主程序和升级程序本身升级的问题

winwhere 发表于 2009-4-21 06:44:58

这样的方法是必须首先更改数据库中的版本号,那数据库中的版本号由谁来改呢,如果有专人的数据库管理员是可以的,否则,不大可行。

zjyh168 发表于 2009-8-23 17:18:31

非常感谢。。。。

838637819 发表于 2010-2-9 10:11:23

增加数据库脚本执行的功能应该可以进行数据库的升级了

522503763 发表于 2012-5-17 06:36:15

增加数据库脚本执行的功能应该可以进行数据库的升级了

838637819 发表于 2012-12-29 11:53:15

多谢分析,学习一下。

fmmugy 发表于 2014-5-31 08:38:35

好东西,必须支持一下

吞吞 发表于 2014-9-30 22:18:13

看着很简单的样子{:soso_e100:}

chinahero139 发表于 2014-12-29 23:41:58

不错的资源,感谢分享

telephone 发表于 2015-6-6 08:11:30

非常感谢。。。。
页: [1] 2
查看完整版本: 自动升级

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com