网站大量收购独家精品文档,联系QQ:2885784924

利用VFP开发多用户信息系统的程序设计方法.docx

利用VFP开发多用户信息系统的程序设计方法.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用VFP开发多用户信息系统的程序设计方法

利用 VFP开发多用户信息系统的程序设计方法①谷岩文 摘 探讨了多用户信息系统的程序设计方法及特点。 介绍了网络环境下冲突问题的解决和记录删除的方法及 加快多用户信息系统运行速度的措施。3. 设置等待时间避免用户等待时间太长或死锁的发生。如果一个用户锁定了一个数据库记录或文件, 并且等待 着访问另一个已被第二个用户锁定的记录或文件; 同时这第 二个用户又在等待着访问被第一个用户锁定的记录或文件,则它会使系统停止正常操作, 这种现象常称为死锁。避免死锁的方法有以下几种:( l) 当被加锁的记录或文件处理完后, 及时解锁; (2) 设置一个等待时间当在这等待时间内仍未加锁成功, 就取消试图加锁的操 作;(3) 在程序中加入冲突处理子程序 由程序识别出错状态, 并由程序完成适当的处理。实现这一点有两种途径:( 1) 利用程序中的 FL O C K ( ) 或 RL O C K ( ) 函数的逻辑真 或假植, 然后用 IF、DO 、W H IL E 等语句进行相应的处理。 在 下一节将着重介绍这种方法。(2) 利用 V F P 提供的出错函数 ER RO R ()、错误信息函数 M E SSA GE ( )、ON ER RO R、R E T R Y 和 SE T R E PRO C E SS 命令来处理。具体思路是: 若试图对已加锁的记录或文件重新 加锁, 则返回一条错误信息, 程序捕获这类错误, 并且当记录 或文件不能重复加锁时, 为用户提供其它的选项。程序中可以 使用 SE T R E PRO C E SS 命令去自动处理这类无法实现的加 锁要求, 该命令和 O R ER RO R 及 R E T R Y 结合起来, 可以帮 助用户继续或中止加锁要求。关键字 多用户 信息系统 冲突 删除记录随着计算机网络应用的不断发展, 很多用户都希望开发出适应多用户共享数据资料的信息系统。 而作为开发多用户 信息系统的常用工具 V isua l Fo xp ro 6. 0, 它不仅是为数据库 应用程序开发而设计的功能强大、面向对象的编程工具, 而且能够管理大量复杂的数据信息, 同时具有很好的安全性和较 强的网络功能, 并能够实现数据的远程访问和存储加工, 因此 用 V F P 开发多用户信息系统的程序设计方法显得俞来俞重 要。一、网络环境下的程序设计多用户和单用户程序之间的根本区别在于: 是否允许多个用户共享一个数据库并解决由此带来的冲突。 尽管通常的 程序不需要作出很大的修改, 但在访问打开的共享数据库时,如何对此并发操作而引起的冲突实现调度与控制是必须解决 的。在多用户信息系统的程序设计中应根据实际情况增加以 下命令:1. 以共享?独占方式打开库文件用 SE T EXCL U S IV E ON 命令或 U SE 文件名 EX 2CL U S IV E 命令设置文件独占方式, 以独占方式打开数据库,则允许已打开它的用户对它存取, 其它用户被拒绝存取。用 SE T EXCL U S IV E O F F 命令设置文件共享。以共享方 式打开数据库, 则允许两个或两个以上的用户同时访问数据库。2. 文件加锁?解锁和记录加锁?解锁用函数 FL O C K ( ) 对数据库文件加锁, 用函数 RL O C K ( )对数据库记录加锁。 FL O C K () 函数和 RL O C K ( ) 函数对以独 占方式打开的文件没有什么意义, 因为在这种情况下这两个函数总是返回真值。用 FL O C K () 函数可以防止多个用户同时 修改同一个文件, 用 RL O C K ( ) 函数可以防止多个用户同时修改同一个记录, 因此对文件和记录加锁可以防止冲突的发生。若要解除文件或记录的锁定状态, 则通过关闭数据库文 件或用 U N L O C K 命令来释放文件和记录的锁。二、网络环境下冲突问题的解决在开发多用户信息系统时, 必然要遇到冲突问题。当一个用户试图锁定当前已被另外一个用户锁定的记录或文件时, 便发生了冲突, 因为两个用户在同一时间不能同时锁定同一 个记录或文件。 在发生冲突时, 会引起系统出错, 这就要求应 用程序具有冲突处理的功能 1 。以下便是设计的在给记录加锁时解决冲突问题的一个过 程, 该过程提供了三种解决冲突的方式:1. 等待方式: 先试图加锁, 若不成功则等待若干秒钟, 再试图加锁, 直至加锁成功, 并返回. T. 值。 在该过程中, 给定了 一个相对大的试图加锁次数: 1000。 因此, 一般情况下, 1000次以内的试图加锁是应该成功的。 过程参数用W 表示。2. 询问方式: 先试图加锁, 若不成功, 则询问用户是否重 试。若不试, 则不再试图加锁, 并返回. F. 值。否则, 等待若干秒后再重

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档