VFP第12章关系数据库设计基础教学课件.ppt

上传人:za****8 文档编号:3230359 上传时间:2019-12-09 格式:PPT 页数:28 大小:1.25MB
返回 下载 相关 举报
VFP第12章关系数据库设计基础教学课件.ppt_第1页
第1页 / 共28页
VFP第12章关系数据库设计基础教学课件.ppt_第2页
第2页 / 共28页
VFP第12章关系数据库设计基础教学课件.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
第12章网络程序设计技术(1学时),吉林大学计算机教学与研究中心,Welcome!,第12章网络程序设计技术,网络应用程序的主要特点:多个程序并行执行,多个用户同时访问数据库。,网络程序要解决的关键问题:数据共享与数据访问冲突。,VFP网络编程机制:文件共享和数据加锁。,文件打开方式:是否允许修改文件以只读方式打开;是否允许多个用户同时访问文件以独占方式打开。,12.1.1文件的只读与可修改,以只读方式打开的文件类型:数据库文件(DBC)、表文件(DBF)、文本文件(TXT)和程序文件(PRG、QPR、MPR),.通过菜单设置只读打开方式:文件菜单打开;在打开对话框中选择文件类型文件名;选定以只读方式打开,单击确定按钮。,12.1.1文件的只读与可修改,通过命令设置只读打开方式:,(1)打开数据库文件:OpenDataBaseNoUpdateModifydatabaseNoEdit(2)打开表文件:UseNoUpdate(3)打开文本文件:ModifyFileNoModify(4)打开程序文件:ModifyCommandNoModify,12.1.1文件的只读与可修改,4以只读方式打开文件的目的:限制修改文件中的内容。特殊性:以只读方式打开据库,而以可修改方式打开其中的表,则执行MODIFYDATABASENOEDIT,在数据库设计器中不能修改表结构及其相关信息,可修改表中的数据记录。,12.1.2文件的独占与共享,共享打开方式:用户打开文件后,允许其他用户以同种方式打开该文件。,独占打开方式:用户打开文件后,其他用户无法以任何方式打开该文件。,通过菜单设置独占共享:文件菜单打开;在打开对话框中选择文件类型文件名;选定独占,单击确定按钮。,12.1.2文件的独占与共享,以独占方式打开文件的目的:某些VFP命令要求独占文件;禁止网络中其他用户访问文件。,设置独占或共享打开的文件类型:数据库文件(DBC)和表文件(DBF)。,12.1.2文件的独占与共享,2.数据库的独占与共享OpenDataBaseExclusive|SharedExclusive独占,Shared共享。,3.表的独占与共享UseExclusive|SharedExclusive独占,Shared共享。举例,1.设置文件的打开方式SetExclusiveOn|OffOn(系统默认)独占,Off共享,12.1.2文件的独占与共享,5.其他文件的独占与共享(1)与表相关的文件:FPT、IDX和CDX,打开方式与表一致。(2)与程序有关的文件:PRG、SCX、MNX、MPR和QPR,用Modify命令为独占;用DO命令为共享。举例,4.SQL语句的打开表方式与SetExclusive状态一致,12.1.3要求独占打开文件的命令,1瞬间独占文件:具有建立文件功能的命令对目标文件瞬间独占,命令结束后自动释放(关闭)文件。(1)Create(2)CopyTo(3)IndexOnTO(4)SortTo(5)TotalTo举例,12.1.3要求独占打开文件的命令,2要求以独占方式打开表文件:(1)Pack:物理删除带删除标记的记录。(2)Zap:物理删除表中全部记录。(3)Reindex:更新当前表中的索引。举例()ModifyStructure:以共享方式打开表不允许修改表结构及相关信息,即处于只读状态。,12.1.3要求独占打开文件的命令,3多个用户打开文件问题:A用户以独占方式打开的文件,B用户不能以任何方式打开该文件。A用户以共享方式打开的文件,B用户不能以独占方式打开该文件。违背规定时,B用户程序出错类型编号为1705。,12.2共享数据锁机制,加锁:获取锁的过程。释放锁:取消锁的过程。加锁的表:共享打开的表。加锁的作用:解决多个用户同时更新数据的冲突问题。,锁:系统对数据设置的一种标志。在同一时刻只能有一个用户获得某数据的锁,获锁的用户才能更新数据,其他用户只能查数据。,12.2.1记录加锁,1.当前记录加锁函数RLock()功能:为指定工作区中当前记录加锁。若加锁成功,则返回.T.;若加锁失败,则返回.F.。,记录成功加锁的条件:非结束记录;其他用户既没对该记录加锁,也没对该文件加锁。,12.2.1记录加锁,.多个记录加锁设置SetMultiLockOn|OffOff(默认):RLock或Lock为个记录加锁On:用RLock或Lock可为多个记录加锁,12.2.1记录加锁,3.多个记录同时加锁函数RLock(,)功能:若所有记录都加锁成功,则返回.T.;若其中有一个记录加锁失败,则返回.F.,并不对任何记录加锁。在SetMultiLockOff下,只加锁最后记录;在SetMultiLockOn下,加锁多个记录。举例,12.2.2文件加锁函数,Lock()功能:为指定工作区中表文件加锁。若加锁成功,则返回.T.;若加锁失败,则返回.F.。,文件成功加锁的条件:其他用户既没对该文件加锁,也没对其中任何记录加锁。,12.2.3受锁机制影响的命令,1.文件加锁的命令:执行更新数据的命令时,对当前表自动文件加锁;完成命令后,系统自动释放锁。命令有:,表操作命令:可能更新多个记录的命令,需要文件加锁;仅更新一个记录的命令,需记录加锁。,12.2.3受锁机制影响的命令,(1)Delete:逻辑删除多个记录(2)Recall:去掉多个记录的删除标记(3)Replace:修改多个记录中的数据选用All、Nextn(n=2)、Rest、For或While至少一项。若当前表已经被其他用户加了记录锁或文件锁,则系统出错编号为108。,12.2.3受锁机制影响的命令,(4)AppendFrom:从另一个文件中追加记录。(5)AppendBlank:加一个空记录。(6)SQL语言的InsertInto:加记录。若当前表已经被其他用户加了文件锁,则系统出错编号为108。,12.2.3受锁机制影响的命令,.记录加锁的命令:仅对当前待更新的记录加锁;完成命令后,系统自动释放锁。命令有:,(1)Edit:对正在修改的记录加锁。(2)Change:对正在修改的记录加锁。(3)Browse:对正在修改的记录加锁。(4)DeleteNext1|Recordn:对待删除的记录加锁。,12.2.3受锁机制影响的命令,(5)RecallNext1|Recordn:对待恢复的记录加锁。(6)ReplaceNext1|Recordn:对待修改的记录加锁。若待更新的记录已经被其他用户加锁(文件或记录锁),系统出错编号为109。,12.2.3受锁机制影响的命令,(7)SQL语言的Update:对要修改的记录加锁。(8)SQL语言的DeleteFrom:对要删除的记录加锁。若其中某个记录被其他用户加锁(文件或记录锁),则不会更新任何记录,而系统出错编号为130。,12.2.4释放锁,.自动释放锁的命令:(1)执行RLock,释放对应工作区中的文件锁。(2)在SetMultiLockOff下,执行RLock,释放对应工作区中其他锁。,12.2.4释放锁,(3)SetMultiLock由On转到Off,释放各工作区中文件锁;若某工作区中有多个记录锁,则释放该工作区中的所有记录锁,但仅有一个记录锁的工作区,保留其记录锁。(4)关闭表文件将释放表中的锁。,12.2.4释放锁,2.释放锁的专用命令:(1)UNLock:释放当前工作区中锁。(2)UNLockRecordIn:释放工作区中给定的记录锁和文件锁。(3)UNLockIn:释放工作区中的锁。(4)UNLockAll:释放所有锁。,12.3网络程序出错处理,出错陷阱程序示例,网络程序访问数据冲突的解决办法:编写出错陷阱程序。,吉林大学计算机教学与研究中心,ThankYou!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!