VFP课件第20讲.ppt

VFP课件第20讲.ppt

ID:49798392

大小:196.50 KB

页数:26页

时间:2020-03-02

VFP课件第20讲.ppt_第1页
VFP课件第20讲.ppt_第2页
VFP课件第20讲.ppt_第3页
VFP课件第20讲.ppt_第4页
VFP课件第20讲.ppt_第5页
资源描述:

《VFP课件第20讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第20讲*VisualFoxPro网络程序设计返回20.1并发控制20.3事务处理20.2缓冲技术20.4在Web中使用VisualFoxPro20.5开发客户/服务器模型120.1并发控制在多用户环境下,同一时刻可能会有多个用户并发地存取数据库,所以数据库管理系统必须提供并发控制机制。20.1.1锁定的分类从使用对象上区分,锁定可分为两种类型:记录锁定和文件锁定。从操作方式上区分,锁定也可分为两种类型:自动锁定和手工锁定。1.记录锁定和文件锁定当提供记录锁定时,系统仅仅锁定当前记录,其他用户就不能对该记录进行写操作。而提供文件锁定时,系统则

2、锁定整个表,其他用户对整个表都不能进行写操作。只有解锁后其他用户才能对记录或表进行写操作。一般情况下,记录锁定要比文件锁定使用得更广泛一些。22.自动锁定和手工锁定不管是记录锁定还是文件锁定,都要通过使用一些命令或函数来实现。在使用某些命令或函数时,VisualFoxPro自动锁定记录或表,当命令或函数执行完毕则会自动解锁。也可以使用一些专门用于锁定记录或表的函数来手工锁定记录或表。20.1.2锁定的命令和函数教材表20-1列出了一些自动锁定的命令和函数。在表20-1所列的命令和函数中,有些命令只锁定表头。当锁定表头时,其他用户不能添加或删除

3、记录,但可以在表里修改记录。3除了可以自动锁定记录或表之外,VisualFoxPro还提供了一些用于手工锁定的函数。它们是:LOCK()、RLOCK()和FLOCK()。使用这些函数可以测试记录或表的锁定状态。测试过程与其他用户所进行的任何操作都不会发生冲突。LOCK()和RLOCK()函数作用相同,都是用于锁定一个或一组记录,而FLOCK()函数主要用于锁定整个表。但要注意的是,使用这3个函数手工锁定记录或表时,在该函数执行完毕后并不会自动解锁。因此,还必须使用一些解锁命令对被锁定的记录或表进行手工解锁。教材表20-2列出了解锁的命令和函数

4、。4在下面的例子里,使用FLOCK()函数锁定XSB表以防止其他用户更新数据。若锁定成功,则使用REPLACE命令为每一个记录的高考分数增加10分,最后使用UNLOCK命令释放文件锁定。若锁定未成功,则显示一个错误信息:SETEXCLUSIVEOFFSETREPROCESSTO0USEXSBIFFLOCK()REPLACEALL高考分数WITH高考分数+10UNLOCKELSEMESSAGEBOX(“文件正在被其他用户使用!,64,”VisualFoxPro锁定信息”)ENDIF使用LOCK()或RLOCK()函数锁定一个或一组记录。在试图锁

5、定一组记录时,若其中有一个记录未能锁定,则一组记录都不能锁定。5下面的例子用RLOCK()函数试图锁定XSB的第3、10、25号记录,若锁定成功则替换相关字段的内容,否则显示一个错误信息:SETEXCLUSIVEOFFSETREPROCESSTO0SETMULTILOCKSONUSEXSBIPRLOCK(“3,10,25”,“XSB”)GOTO3REPLACE高考分数WITH高考分数+10GOTO10REPLACE高考分数WITH高考分数+10GOTO25REPLACE高考分数WITH高考分数+10ELSEMESSAGEBOX(“文件正在被其

6、他用户使用!”,64,”VisualFoxPro锁定信息”)ENDIF620.2缓冲技术“缓冲”这一概念对于我们来说并不陌生。例如,在许多应用软件中(如Word),都有一个名为【撤消】的菜单项,该菜单项的主要功能就是取消最近一次所做的操作。它主要是通过缓冲技术来实现的。在VisualFoxPro里,使用缓冲技术可将编辑的数据放在一个缓冲区中,然后在缓冲区进行编辑。如果确保编辑的结果有效,则可以发出更新命令,把所编辑的数据写回原地方。只有发出更新命令,才能更新数据,从而有效地保证数据的完整性和安全性。20.2.1记录缓冲和表缓冲VisualFo

7、xPro一共提供两种类型的缓冲:记录缓冲和表缓冲。记录缓冲是针对单个记录进行操作,当记录指针移动后或执行TABLEUPDATE()函数后,就更新磁盘里对应的数据;表缓冲保存了对一个表的多个修改,当表被关闭或执行TABLEUPDATE()函数后,磁盘里对应的数据就被更新了。7若一次只对单个记录进行编辑、修改或删除操作,就该使用记录缓冲。在多用户环境中,记录缓冲能够提供适当的有效性检查机制,对其他用户所做的数据更新操作影响最小。在同一个表里完全可以对多个记录使用记录缓冲,但记录缓冲在单个记录上工作时效果最佳。若要处理表中的多个记录或一对多表的子记

8、录时,使用表缓冲能达到最佳效果。20.2.2缓冲设置在使用记录缓冲或表缓冲时有两种类型的锁定方式供选择:保守式和开放式。两种类型的锁定方式决定了在什么条件下锁定一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。