自动升级
网上的太过复杂,不适用!其实很简单。
自动升级源码:可保存历史版本信息
在主程序 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 )
); 加个精华先,不过PB11的版本的话估计能用的人少些 重要的是注意对主程序和升级程序本身升级的问题 这样的方法是必须首先更改数据库中的版本号,那数据库中的版本号由谁来改呢,如果有专人的数据库管理员是可以的,否则,不大可行。 非常感谢。。。。 增加数据库脚本执行的功能应该可以进行数据库的升级了 增加数据库脚本执行的功能应该可以进行数据库的升级了 多谢分析,学习一下。 好东西,必须支持一下 看着很简单的样子{:soso_e100:} 不错的资源,感谢分享
非常感谢。。。。
页:
[1]
2