- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用pb实现cs应用程序的自动升级.doc
用PB实现C/S应用程序的自动升级
黄石纺织机械厂信息中心 黄新民 2007.9.5
C/S模式的应用程序安装在客户端,一旦程序改动升级,更换应用程序的工作量大。但由于它与B/S模式相比具有交互能力强、运行速度快的优点,目前在企业管理内部的ERP等应用中还是得到比较广泛的应用。
企业的信息化是一个长期的、不断进步的过程,所以应用程序的修改和升级也是经常发生的。目前企业的信息化应用都达到一定的规模,客户端的数量至少也在几十台以上。一旦对应用程序进行修改,及时地更换客户端应用程序的工作量是很大的。怎样在C/S模式下实现应用程序的自动升级呢?下面介绍一种PB开发的应用程序实现自动升级的方法。
自动升级的核心是在应用程序的启动程序段加入判别版本信息的代码,版本有效就直接进入应用系统,否则进行升级。实现这种自动升级的过程比较简单:
将当前应用程序变为过时的旧版
在数据库中建立一个版本信息表bbxx,表的结构包含系统名(xtname)和版本号(bbh)两个字段,例如
xtname bbh 采购管理 2007.9.2A 仓储管理 2007.8.30B 技术数据管理 2007.8.30A 物料需求计划管理 2007.9.3A …… …… 在应用程序建立与数据库的连接后,查询数据库当前应用子系统的版本号,与应用程序记录的版本号信息进行比较,若相同则正式运行应用程序;不同则进行版本的自动更新。采用这种方法的优点是能及时地停止所有客户端旧版应用程序的运行,从而保证不会出现由于旧版更换不及时而造成的数据混乱。
确定当前应用程序所在的位置
应用程序在客户端安装的位置可能各不相同,确定其在客户端的安装位置才能保证新程序的正确替换。
自动建立网络资源,连接网络内新版应用程序所在的目录,拷贝新文件
在网络内确定一台计算机,并设定一个放置新版pbd文件的共享文件夹。
在应用程序应用的Open事件中编写代码,建立网络资源,连接到共享文件夹,复制新文件。
断开网络资源
重新登陆进入新版应用程序
在PB中实现上述过程的详细步骤:
声明外部函数
FUNCTION Long WNetAddConnection2 ( REF NETRESOURCE lpNetResource, String lpPassword, String lpUserName, Long dwFlags) LIBRARY mpr.dll ALIAS FOR WNetAddConnection2A
FUNCTION Long WNetCancelConnection2 (String lpName, Long dwFlags,Long fForce) LIBRARY mpr.dll ALIAS FOR WNetCancelConnection2A
2. 建立结构 netresource 如下:
long dwscope long dwtype long dwdisplaytype long dwusage string lplocalname string lpremotename string lpcomment string lpprovider 3. 假设当前系统为采购管理子系统,在其应用的Open事件写入代码:
// 建立与数据库的连接 -------------
……
connect USING SQLCA;
if sqlca.sqlcode 0 then
messagebox(提示, 不能连接数据库!)
halt
end if
// ----------------------------------------
string bbh1
select bbh into :bbh1 from hsfj.bbxx where xtname = 采购管理; //得到当前有效的版本号
if bbh1=2007.9.2A then // 每次修改结束编译新的可执行文件前,将数据库的版本信息表的版本号字段改为新值,同时修改此处引号内的值与其一致。编译完成后将新文件复制到网络中用于发布新文件的计算机的共享文件夹中。
open(w_main) // 进入应用系统
else
messagebox(提示,不是最新版本!)
string currentdir, filename
int c1,c2,c3
// 确定当前目录 ------------------------------
currentdir=GetCurrentDirectory()
if pos(currentdir,桌面)0 then
messagebox(警告,快捷方式的起始位置不对,不能升级!请找系统管理员)
return
end if
// -------
您可能关注的文档
- 焦虑症的原因与分类.doc
- 煤巷掘进质量标准化检查规范化操作方法.doc
- 煤电矛盾成因的深入探讨.doc
- 煤的形成与分类.doc
- 煤矿安全质量管理的创新与实践.doc
- 煤矿水害应急救援预案探讨.doc
- 煤矿通信系统组网模式探讨.doc
- 燃气轮机性能指标主要影响因素及提高性能途径研究.doc
- 燃烧器工作原理及调整方法.doc
- 爆库原理和基本方法文库.doc
- 2025年凉山州人力资源和社会保障局“千名英才智汇凉山”行动第一批引才笔试备考题库及答案详解一套.docx
- 2025年内蒙古阿荣旗事业单位引进急需紧缺人才笔试高频难、易错点备考题库含答案详解.docx
- 2025年内蒙古阿拉善额济纳旗教育领域紧缺专业教师校园招聘8人笔试备考题库及答案详解1套.docx
- 2025年内蒙古陈巴尔虎旗事业单位引进人才54人笔试高频难、易错点备考题库带答案详解.docx
- 2025年凭祥市公安局招聘46名警务辅助人员笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年内蒙古阿拉善左旗教育领域紧缺专业教师校园招聘13人笔试备考题库及答案详解一套.docx
- 2025年内蒙古阿拉善额济纳旗教育领域紧缺专业教师校园招聘8人笔试备考题库及答案详解一套.docx
- 2025年内蒙古阿拉善额济纳旗教育领域紧缺专业教师校园招聘8人笔试备考题库及答案详解1套.docx
- 2025年内蒙古阿拉善右旗第二批校园招聘教育紧缺人才6人(包师院专场)笔试高频难、易错点备考题库参考.docx
- 2025年内蒙古阿拉善右旗第二批校园招聘教育紧缺人才6人(包师院专场)笔试高频难、易错点备考题库参考.docx
文档评论(0)