- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章网络环境的数据共享资料
2003.8 杭州商学院计信学院 第十二章 网络环境的数据共享 12.2 数据共享或独占访问 在数据共享的环境中,可以按两种方式存取文件中的数据,一种是从独占文件中存取数据,另一种是从共享文件中存取数据。当一个文件以独占方式打开时,其他用户是不能以任何方式打开该文件的。当一个文件以共享方式打开时,其他用户只能以共享方式打开该文件。 1. 以独占方式访问表 将一个表按独占方式打开,目的是在访问表期间严格排斥其他用户的干扰,拒绝其他用户对文件中数据的任何修改。 方法⑴: SET EXCLUSIVE ON USE 表名 方法⑵: USE 表名 EXCLUSIVE 2. 以共享方法访问表 在访问表中的数据时不排斥其他用户的访问,允许多个用户同时对数据进行共享。这时,可以用共享方式打开表。 方法⑴: SET EXCLUSIZE OFF USE 表名 方法⑵: USE 表名 SHARED 当对表进行更新操作时,为了防止在更新期间其他用户的干扰,必须将受影响的记录或整个表锁定起来,对数据更新进行保护。 12.3 数据锁定 当按共享方式访问表时,必须通过表和记录的锁定来实现对数据的管理。在锁定后,其他用户可以对读数据,但不能对表或记录执行写操作。 锁定对象有两个:表和记录。表锁定是防止其他用户写整个文件,而记录锁定将防止其他用户修改被锁定的记录。 12.3.1 自动锁定 按锁定的方式可分为自动锁定和手工锁定。有许多命令(见教材中的表)在执行之前,将自动锁定一个记录或一个表,如果锁定成功,就执行该命令,执行完后再解除锁定,这就是自动锁定。 12.3.2 人工锁定及有关函数的应用 1. 表文件加锁函数FLOCK() 格式:FLOCK() 该函数试图将当前或指定工作区的表文件锁定(锁定全部记录)。如果加锁成功,返回“真”(T),加锁的用户可读写该表,其他用户只能读不能写。如果加锁不成功,则返回“假”(F),表示该表或表中的记录早已被其他用户锁定了。 2. 表记录加锁函数RLOCK() 格式:RLOCK([工作区号/别名]/[,字符表达式列表]) 该函数可锁定多个记录。其中,字符表达式选项指定一个或多个记录号,并用逗号将它们分开,RLOCK()函数就试着给这几个记录加锁。 例如,要给表中的前5个记录加锁,字符表达式就必须含有1,2,3,4,5,如果字符表达式不选,就只给当前记录加锁。 所指定的记录都加上锁,RLOCK()将返回.T.,如果表达式列表中的一个或者多个记录不能被锁定,RLOCK()将返回.F.,并且不给任何一个记录加锁。 3. 检测ON ERROR语句捕捉的出错号ERROR()函数。 格式:ERROR() ERROR()返回最近的一个错误号。在ON ERROR命令被激活的情况下,ERROR()返回一个非0值。当程序执行时遇到加锁失败等错误时,可用ON ERROR()程序中的ERROR()函数查明错误的类型,用MESSAGE()函数返回相应的错误信息。 4. 检测ON ERROR语句捕捉的出错号对应的出错信息函数MESSAGE()。 格式:MESSAGE([1]) 该函数是以字符串的形式返回当前的错误信息,或返回导致错误的程序行内容。任选项[1]表示可返回引起错误的源程序命令行内容。 12.3.3 解除数据锁定 当锁定一个记录或表后,就可在共享数据环境下完成对它们的数据操作。由于是共享环境,应尽可能快地释放加在记录和表上的锁,解除对它们的锁定,让其他用户能继续使用这些记录和表。以下命令将影响自动或人工对表和记录的锁定: UNLOCK 解除当前工作区中记录和表文件的锁定 UNLOCK ALL 解除所有工作区中的所有锁定 SET MULTILOCKS OFF 当加上新锁时解除当前的锁定 FLOCK 加锁文件前解除涉及到的所有记录锁定 CLEAR ALL、CLOSE ALL、USE、QUIT 解除所有记录和文件的锁定 END TRANSACTION 解除自动锁定 TABLEUPDATE() 更改表前解除所有的锁定 12.4 用缓冲访问共享数据 在多用户环境下,Visual FoxPro的记录缓冲和表缓冲技术可以用来保护对单个或多个记录做数据更新和数据维护的工作。缓冲区可以自动测试、锁定记录或表,再将记录或表解锁。借助缓冲技术,可以很容易地检测并解决数据更新操作过
文档评论(0)