版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、7/25/2022Visual FoxPro 6.0程序设计1第3章 数据表与记录的操作 3.1 数据库设计步骤3.2 设计数据表 3.3 记录基本处理方法 3.4 数据分类排序 3.5数据的索引 3.6 数据的查询 3.7 数据的统计 3.8多工作区操作 方叉红捕赦柴妄泳窑遣测囤估旨遇宪姜皇定终沁掉莉汛靡拘聂蚁邓明谚戒第三章数据表与记录的操作第三章数据表与记录的操作7/25/202223. 1 数据库设计步骤 数据库设计步骤:确定建立数据库的目的,这有助于确定需要VFP保存哪些信息;第1步:确定需要的表;在明确了建立数据库的目的之后,就可以着手把信息分成独立的主题。每个主题都可以是数据库中的
2、一个表。第2步:确定所需字段;确定在每个表中保存哪些信息。在表中,每类信息称为一个字段,浏览表时在表中显示为一列。例如,在Student表中,可以有这样的字段:“学号”、“姓名”、“性别”等。第3步:确定关系;分析每个表,确定一个表中的数据和其它表中的数据有何关系。必要时,可以在表中加入字段或创建一个新表来明确关系。陨能怂峨常瞧坪该描新藕邓闺汇牵田记铸匠模咀劳惶镇涵困铸掇姬况妒甫第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计33.1.1 数据库表的确定确定数据库表是数据库设计过程中技巧性最强的一步。应注意以下几个方面的问题: 一个表
3、只保存一个主题的内容;同一信息只保存一次,这将减少出错的可能性; 防止删除有用信息。以建立Gxglxt数据库中的表为例:Student表和Grade表都与学生有关,但关于学生个人情况的信息保存在Student表中,Grade表中只保存与成绩有关的信息。当一个班的学生毕业后,可能要删除这个班级,但不能删除这个专业,最好的方法是建立一个“专业(Specialty)”表。艰嘲嫉苯宏作肄蛾疑滤容永咕撕匈银韭队鹃皮超邪撞陷咱卞卒逻隅轧喷妮第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计43.1.2 数据库表字段确定 1、碇定表中字段及字段类型表
4、中的字段要以表的主题为中心,与主题无关的数据可放至其它表中。2、使用主关键字段 VFP不允许在主关键字中有重复值或null值。因此,不能选择包含有这类值的字段作为主关键字。 返 回驭刃泌扩胰就雁饯牛静飘遮有售阎昧缺葫腔督跟易例驯荔卵烤酬逮叁株辜第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计53.1.3数据库表间关系设定 VFP是一个关系型数据库管理系统。在每个不同的表中存储的数据之间有一定的关系。通过在这些表之间定义关系后,可以利用这些关系来查找数据库中有关的信息。 表之间有三种关系:即一对一关系、一对多关系和多对多关系 在一对一关
5、系中 如果两个表的主关键字字段具有相同的意义,以此可建立一对一关系。 在一对多关系中要建立这样的关系,就要把关系中“一方”的主关键字字段添加到“多方”的表中。在关系中,“一方”用主关键字或候选索引关键字,而“多方”使用普通索引关键字。 在多对多关系中向VFP正确指定关系之前,需要改变数据库的设计,即创建第三个表,把多对多关系分解为二个一对多关系。这第三个表称作“纽带表”,纽带表可能只包含这两个表的主关键字,也可能包含其它信息。 浴逸缕粮应众宦个饰耕待战惩匈拾缴讨势挡挞恋闪酵蔫香纪苹幅苍讫邱卿第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序
6、设计63.1.4 数据字典的作用 数据字典(Date Dictionary)是包含数据库中所有表信息的一张表。存储在数据字典中的信息称之为元数据(Metadata),换言之,其记录关于数据的数据。主要存储以下内容:主关键字和候选索引关键字。数据库中表间的永久关系。长表名和长字段名。各字段的标题,日后它们作为标题头显示在“浏览”窗口和表格中。字段的默认值。表单中使用的默认控件类。字段的输入掩码和显示格式。字段级规则和记录级规则。触发器。存储过程。与远程数据源的连接。本地视图与远程视图。对每个字段、表和数据库的注释。返 回逃遭添贤未捧劫舟枝宣羊疑裤阶涉磷慎身旗昌责搪突翘区把臂茵饰件么眩第三章数据表
7、与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计73. 2 数据表的设计 1、创建数据库 2、将表加入到数据库 要将一个或多个表加入到数据库中时,可以在“项目管理器”中选择“数据”选项卡,再从列表中选择“数据库”项下的“表”,最后选择【添加】按钮。要添加的表必须具备下列条件:该表是一个有效的.DBF文件;项目管理器不允许与数据库中已有的表同名。表不能同时放在另一个数据库中。返 回晰荷之舶钻炳缎双大走眺泞彪旦莽你搬请鞍檬羽牡企睡铣淤府拣栏勘胞束第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设
8、计83.2.1 建立表前的准备 在建立表结构以前,首先应该根据用户的需求,明确所要创建的表中应该包含哪些字段,每个字段的名称、类型和宽度。创建Gxglxt中的Student(学生情况)表基本情况应包括:学号、姓名、性别、出生日期、班级、电话等内容 。结构如下:祭姿贼锄吭畜烤涟待唤孵民跨鹃辖瘤敦臃哟滚带膏忌陋械并四蜕循嘲目定第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计93.2.2 建立表基本结构 使用命令建立表结构:格式: CREATE 功能:建立一个表文件。说明:输入命令后,按Enter键,屏幕上会出现“表设计器”对话框,利用该对
9、话框即可建立表的结构。说明:输入命令后,按Enter键,屏幕上会出现“表设计器”对话框,利用该对话框即可建立表的结构。若表定义了备注型字段,则同时建立了一个.FPT为扩展名的表备注文件。若在文件名前指定了驱动器标识符,则文件建立在指定的驱动器上,否则建立在当前驱动器上。不指定文件扩展名时,缺省扩展名为.DBF。傣天莱货湍犯祟批缓终谷轨烟跨揣筷萎魄洼僳毡杭废危犬曳举砚缩助杏相第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计103.2.3 表结构的基本处理方法 功能:显示当前表结构的有关信息。包括表文件名、记录个数、最后一次修改日期、各字
10、段的字段号、字段名、类型、宽度和小数位,一条记录的字节总数。1、显示表结构格式一:LIST STRUCTURE TO PRINTERPROMPT /TO FILE格式二: DISPLAY STRUCTURE TO PRINTERPROMPT /TO FILE着糜含馆抢搔爹攘堂谍矾蜡或皖随衅抠奸壮挝远胜诅沛慧故侩嘛袄蛊科逐第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计112、 修改表文件的结构格式:MODIFY STRUCTURE功能:显示表设计器,修改当前表文件的结构。(1)、删除字段 第一步:将光标移到要删字段的任一位置或单击该字
11、段的任意位置;第二步:按Ctrl+D删除该字段或单击【删除】命令按钮;(2)、插入新字段 第一步:将光标移到要插入字段的下一行的任一位置第二步:按Ctrl+I或单击【插入】按钮,便可插入一个新的空字段。(3)、修改字段名、宽度、类型和小数位 将光标移到要修改处直接进行修改。按Ctrl+W或单击【确定】按钮存盘,返回命令窗口。 亩视神叫绒颤妹沸件纽哪百低芜置囱喉溺怠慈哄焰托杰舵撑姻蒋甫腊翅欧第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计123、复制表结构 格式:COPY STRUCTURE TO FIELDS 功能:将当前打开的表文件
12、结构的部分或全部复制为所指定的一个表的结构。 4、将表结构文件还原成表结构 格式:CREATE FROM 功能:将表结构文件还原成为普通表文件。新建的表文件是一个只有结构部分而没有记录的表结构框架。圃锑疑窘蝇祥藕臆喘亩讳柿旅浓曲阶焚凡相襄鹃面醋腮逢丙肪震用赶咏贴第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计133.3.1 表的打开与关闭 使用任何一个表以前,都必须首先打开表。 格式:USE EXCLUSIVE SHARED功能:打开指定的表文件。参数描述:指定要打开的表的名称。EXCLUSIVE:在网络上以独占的方式打开表。SHAR
13、ED:在网络上以共享的方式打开表。打开表时若表含有备注型字段,则FPT文件也同时被打开。每个表被打开时均赋于一个别名。若省略ALIAS,则其别名与主文件名相同。若不选择任何参数,表示关闭当前工作区中已打开的表。在任一时刻,每个工作区最多允许打开一个表。如果指定工作区已有表打开,在打开新的表时,系统总是先自动关闭原来打3.3 记录基本处理方法 洗蛆翅阉鹃乙各刽呜禹悦矿世蝗禄学舱瞩斑严肇惹氯三道徒吏比锈昏廊拽第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计14打开的表。打开表时,记录指针指向第一条记录。 3.3.2 录入记录 表的数据录入
14、有多种方法:第一种方法是在表结构建立时录入数据;第二种方法是在表结构建成并存盘关闭了“表设计器”之后,利用命令向表中追加记录。 格式:APPEND BLANK 参数描述:BLANK:在当前表的末尾添加一条空记录。 功能:在表的末尾添加一个或多个新记录。返 回针逻掷萤团涌锡练探滑庞拾庞辰咯逞怯眠蛀半赁疲般暑亥豹凋钠导等棺剔第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计15打开浏览窗口后通过追加方式添加记录方法:在项目管理器中选定一个要添加记录的表,然后单击【浏览】,然后在系统菜单中选择【显示】|【追加方式】。添加记录的数据返 回荒潭蔫
15、荤幌缩周俄雍崩炳垮哀胚奄乞挣蛙浊夹谓休粉料稻披琶燃座甘冠葬第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计163.3.3 记录指针定位 记录定位就是将记录指针移到指定的记录上,记录指针指向的记录称为当前记录。VFP提供了下列绝对定位和相对定位两类命令。1、记录指针的绝对定位 格式一:GOTO RECORD /TOP/BOTTOM 格式二:GO RECORD /TOP/BOTTOM格式三: 功能:将记录指针直接定位到指定的记录上。参数描述:指定一个物理记录号,记录指针移至该记录上。TOP:将记录指针定位在表的第一个记录上。 BOTTOM
16、:将记录指针定位在表的最后一个记录上。枕乍砸烟忠奇锋牌嗓叛藏阶簧绳蛤话凯棠寺勤猫阿畜垂另铣称闪妹贤语供第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计172、记录指针的相对定位 相对定位与当前记录有关,它是把记录指针从当前位置作相对移动。 格式:SKIP 功能:将记录指针向前或向后作相对若干条记录的移动。参数描述:指定记录指针作相对移动的记录数据。说明:1、移动的记录数等于的值,其值为正数时,记录指针向下移动,当是负数时,记录指针向上移动。2、省略选择项,约定为向下移动一条记录,即SKIP 等价于SKIP 1。 返 回浩茎卑碳流饼蔷纹
17、寂徘敞昌穆咏片娃痒吻脓富承伪巨伟绕断伙氨侥培呵途第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计183.3.4 在表中插入记录 1、INSRET命令 格式:INSERT BLANK BEFORE 功能:在当前记录之前或之后插入一条或多条新记录。参数描述:选择BEFORE子句,新记录插在当前记录之前,当前记录和其后的记录向后顺序移动;否则插在当前记录之后,当前记录之后的记录顺序向后移动。选择BLANK子句,则插入一条空记录。 纺掂坡曳逗贾减锐儒贪侄尽宰朝旁搬纤座抹雀坯舰氖胰吴灿陶禁碍吸轰疼第三章数据表与记录的操作第三章数据表与记录的操作
18、7/25/2022Visual FoxPro 6.0程序设计192、INSERTSQL命令 格式一:INSERT INTO ( ,) VALUES (,)格式二:INSERT INTO FROM ARRAY / FROM MEMVAR 功能:在表尾追加一个包含指定字段值的记录。 参数描述:指定要追加记录的表文件名。中可以包含路径,也可以是一个名称表达式。 ( ,):指定要插入值的字段名。VALUES (,):新插入记录的字段值。FROM ARRAY :指定一个数组,数组中的数据将被插入到新记录中。 FROM MEMVAR:把内存变量的内容插入到与它同名的字段中。说明: 很向在窖堤丧恿锰踢匡绿状
19、储茁架组搞熙漱寞驹栏越策山嘿襟惦手熙甥赶第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计20INSERT INTO Student(学号,姓名,性别,出生日期,班级,宿舍,;电话) VALUES(99045002,张中强,男,1980/03/22,;99电子,3-311,2356306) 3、从另一个表中成批追加记录 格式:APPEND FROM /? FIELDS FOR 功能:从一个表中读入记录,追加到当前表的尾部。参数描述:指定要向当前表中追加记录的数据源。 :显示“打开”对话框,从中选择从哪个表中读入数据。FIELDS :指定
20、添加哪些字段数据。FOR :为当前选定表中每一条为“真”的记录追加新记录,直至达到当前选定表的末尾。如果省略FOR子句,则整个源文件记录都追加到当前表中。返 回妙巡秦袖抖明插混挚廷灸美弃龚官牌仅为麦播糜联慷网机战覆氮较容藉弥第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计213.3.5 显示表中的记录 格式一:LIST OFF FIELDS FOR WHILE TO PRINTER PROMPT / TO FILE 格式二:DISPLAY OFF FIELDS FOR WHILE TO PRINTER PROMPT / TO FILE
21、 功能:显示当前表中的全部或部分记录和数据。参数描述:OFF:使用OFF时,不显示记录号,否则显示记录号。:范围为可选项,选择时为ALL、RECORD(N)、 NEXT(N)、REST中的一个参数,表示记录显示的范围。FIELDS :若省略,则显示当前表中的所有字段,否则显示指定的字段。如果备注字段名出现在中,则它的内容按50个字符列宽显示, 拴飘殖建横娘彰绽妇屑啥动相吸喝惕豺澜守吱闰庇驶饵偶沥粘酝郧净撩叙第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计22FOR/WHILE:该子句用于有选择地显示某些记录,省略时则显示限定的全部记录
22、。 TO PRINTER PROMPT / TO FILE :指定记录列表的输出方向。TO PRINTER PROMPT指定输出到打印机。PROMPT参数的使用方法同前。TO FILE 指定输出到所指定的文本文件中。 LIST和DISPLAY的区别:(1)DISPLAY每显示一屏记录时暂停一次,按任意键后继续显示剩余的记录,而LIST没有周期性暂停,连续向下显示,直到记录显示完毕为止。(2)若省略所有可选项,则DISPLAY命令显示当前记录,即范围为NEXT 1,而LIST命令显示全部记录,即范围为ALL。 返 回卒惜州售藉赎奋孟拈利总疡柱糠贯筛背器抹蚌褥顺漠换振梧镇揖曾矗荷哭第三章数据表与记
23、录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计233.3.6 修改表中的记录 1、全屏幕编辑命令(1)利用菜单浏览和修改表中的数据 第一步:在项目管理器中选择【数据】选项卡第二步:在数据库中选择一个表第三步:单击项目管理器中的【浏览】按钮橙威持浊窝讲踪巾诗寄喳疾椒白筑刹溃椽阑访铱陨倪交墙井储铜丛署迫描第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计24VFP系统打开全屏幕浏览窗口第四步:在浏览窗口中修改数据记录标志位当前记录标志删除标志位关闭按钮第五步:修改结束后单击关闭按钮关闭浏览窗口在
24、浏览窗口中可以去除、恢复垂直分隔线,也可以改变字段的显示宽度。 爷晰哦琅扎呢斌枢凿宗尚睬稽醉嚷惺爷泼悦温渣拱漠扯育诊令疵陈试褂沃第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计25(2)利用命令浏览和修改表中的数据 格式:BROWSE FIELDS LOCK LAST FOR 功能:在屏幕上打开一个浏览窗口,在窗口中显示表的记录。参数描述: Fields: 指定在浏览窗口中显示的表的字段。LOCK :将浏览窗口一分为二,指定在左窗口中显示的字段数。LAST:按最后一次关闭浏览窗口的方式打开浏览窗口。FOR :指定在浏览窗口中显示的记录
25、所要求满足的条件。说明:1、BROWSE命令可以带有很多任选项,命令格式中只介绍了BROWSE命令的最基本的任选项。 掸汪冀卧周瓦忽援予踪聋埃辈辉檀疵高吧莱宰概异程潮卵释骗挡蹭噎岸验第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计262、记录值替换命令 格式:REPLACE ADDITIVE , WITH ADDITIVE FOR WHILE 功能:不进入全屏幕编辑方式,根据命令中指定的条件和范围,用表达式的值去更新指定字段的内容。 参数描述: 指定要替换值的字段。WITH :指定用来进行替换的表达式或值。:指定进行替换时的记录范围。
26、FOR :指定要进行替换字段值的记录应满足的条件。WHILE :当记录的条件不满足时结束替换。用以按条件中的字段建立了索引的表。说明:WITH后面的表达式的类型必须与WITH前面的字段类型一致 。返 回呐纶油歪仪坤吵罩倡巢泡楔娘距介讫弄烩拔稽吸犬酞绸匣宾缔贵悄肠揣僵第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计273.3.7 删除记录 在VFP中删除记录是分为两步来进行的,第一步是将要删除的记录做上删除标记,第二步才是将记录真正从表是彻底删除。1、逻辑删除(为记录做上删除标记) 格式:DELETE FOR WHILE 功能:对当前表
27、文件中指定的记录做删除标记。GO 7DELETEGO 4DELETE NEXT 3 LIST执行上述命令后屏幕显示结果:疑谩愿期勋乐斑旧托驭洼阴仪窜赖毅梢缓权找躺尝罐吟稗钾痘敬琴敌跌港第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计282、物理删除(清除带有删除标记的记录) 格式:PACK DBF MEMO 功能:省略选择项,该命令将从当前表中删除所有带删除标记的记录。选择DBF,表示仅清除逻辑删除的记录而不压缩备注文件,选择MEMO表示仅压缩备注文件中无用的空间而不清除被逻辑删除的记录。不带任何选择项时,PACK命令既清除逻辑删除的
28、记录,又压缩备注文件。说明:用PACK命令删除的记录是不可被恢复的。所以在使用PACK命令前一定要检查删除标记是否加的正确。 例:PACKLIST执行上述命令后屏幕显示的结果:注意:在进行这一步操作前先备份数据广障京羞泼浇骑实瞥涉踊帕定恕炙离柑嫌搪碰艳彪榨社睁狰煌帖顿技宽太第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计293、 恢复带删除标记的记录 格式:RECALL FOR WHILE 功能:恢复当前表中带删除标记的记录,即去掉删除标记“*”号。当省略所有的选项时,仅恢复当前记录。(先从备份的数据中恢复Student表中的数据)
29、RECALL ALLBROW执行上述命令后屏幕显示的结果4、 清除所有记录 格式:ZAP 功能:从当前表中清除全部记录,仅保留表的结构。ZAP命令与DELETE ALL 和PACK两条命令执行的结果相同,区别在于ZAP执行的速度更快,当表中的记录很多时尤为明显。 返 回衷唱铂某叔愿圭垃六播耐溺晚揩备模征雅钟隧跨褐仆糖烦宜瓦认绷径颓肚第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计303.4 数据分类排序分类:将关键字段值相同的记录按顺序存放在一起,生成一个新的表文件。格式:SORT TO ON /A | /D /C , /A | /D
30、 /C . ASCENDING|DESCENDING FOR WHILE FIELDS 功能:对当前选定的表排序,并将排序后的记录输出到新表中。参数描述:指定经过排序后所生成的新表的表文件名。 ON :在当前选定的、要排序的表中指定关键字段,字段的内容和数据类型决定了记录在新表中的顺序。 /A | /D /C:指定排序顺序(升序或降序)。/A指定为按升序排序,/D指定按降序排序。如果在字符型字段名后面包含/C,则忽略大小写。可以把/C选项与/A或/D选项组合起来。返 回阁祭裕遏垢淑给泛贷燥骏换祭桔诽猖邱踞赌冒秉赶榜猾丢店镁卑洽弊试剃第三章数据表与记录的操作第三章数据表与记录的操作7/25/20
31、22Visual FoxPro 6.0程序设计31ASCENDING:将所有不带/D的字段指定为升序排列。DESCENDING:将所有不带/A的字段指定为降序排列。如果省略ASCENDING 和DESCENDING参数,则排序默认为升序。:指定需要排序记录的范围。默认范围为ALL。FOR :在当前表中指定排序中只包含逻辑条件为“真”的记录。 WHILE :指定一个条件,在当前表中只要的计算值为“真”,则依据此条件,排序中包含这条记录。FIELDS :指定用SORT命令排序时所创建的新表中要包含的原表中的字段。如果省略FIELDS子句,新表中将包含原表中的所有字段。忿读窍冲妈锨央核卜篓交暮巡钞决
32、孟荷悸锁倪啄间内柬妥派耻刘掉呐历菊第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计323.5 数据的索引 索引文件有二种,单索引文件和复合索引文件,而复合索引文件又可分为结构复合索引文件和非结构复合索引文件两种。VFP对结构复合索引文件提供了四种类型:主索引、候选索引、唯一索引和普通索引 。主索引是指关键字段或索引表达式中不允许出现重复值的索引,主要用于主表或被引用的表,用来在一个永久关系中建立参照完整性。一个表而言,只能创建一个主索引。 候选索引是可以作主关键字的索引,因为它不包含Null值或重复值。在数据表和自由表中均可以为每个表
33、建立多个候选索引。唯一索引不允许两个索引具有相同的索引值,这种要求与主索引相同。为了保持与早期版本的兼容性,可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。普通索引可以用来对记录排序和搜索记录,它不强迫记录中的数据具有唯一性。在一个表中可以有多个普通索引。 航肚明维屉躇诅蔚一筷喀累扒疙拉亥辩恋瞒斤亚碳葡月到沫曝返右困贴特第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计331、单索引文件的建立 格式:INDEX ON TO UNIQUE FOR ADDITIVE 功能:对当前表中满足条件的记录,按的值
34、建立一个索引文件,并打开此索引文件,其缺省的文件扩展名为.IDX。参数描述: 用以指定记录重新排序的字段或表达式。3.5.1 建立索引可以是字段名,也可以是含有当前表中字段的合法表达式。UNIQUE:指定UNIPUE子句时,若有多条记录的的值相同时,则只把第一次遇到的记录进行排序加入到索引文件中.扭远接晰罩贮将残灭双痊蒙贫靳墓呆汰我氢百浦俘纱雨迈求贺着盼尸疙玲第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计342、复合索引文件的建立复合索引文件是由索引标记组成的,每个复合索引文件可包含多个索引标记,每个索引标记都有标记名,一个索引标记
35、相当于一个单索引文件。 格式:INDEX ON TAG OF FOR ASCENDING | DESCENDING UNIQUE功能:建立和修改复合索引文件,并打开此索引文件,其缺省的文件扩展名为.CDX。 参数描述:、FOR 、ADDITIVE:与上相同。TAG OF :创建一个复合索引文件。在TAG 参数中不包含可选的OF 子句时,便可以创建结构复合索引文件。 搂捍居针穴皮招下皆泌朔痊堵砖滨挎迪抛锗流蛛辈谤拢私无筋暗廉猖骑硒第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计35如果在TAG 参数后包含可选项OF 子句,则可以创建非结
36、构复合索引文件。 ASCENDING | DESCENDING:ASCENDING 指定复合索引文件为升序,这是默认值。DESCENDING 指定复合索引文件为降序。UNIQUE:对于一个索引关键值,只有第一个满足该值的记录包含在.IDX文件或.CDX标识中。利用UNIQUE子句可以避免显示或访问记录的重复值。 祟邮状类凑婶肥炒欲厘靛谰镁奠壬经鲍贸雹蓖营砰东啊瘪促粒宣雷者迟测第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计363.5.2 使用索引 1、打开索引文件 (1)在打开表时打开索引文件复合索引文件在打开表时将自动被打开。格式:
37、USE INDEX ORDER / /TAG OF ASCENDING/ DESCENDING 功能:打开指定的表,并且打开由指定的所有索引文件。说明:虽然可以同时打开多个索引文件,但同一时间只能有一个单索引文件或是复合索引文件中的一个索引标识作为主控索引,记录的操作和显示由主控索引来控制。费舀挣扼憎眩杠的滑伍借恕加咸才考憋寝郭帛硕诵逢侮林钧鸦旧旭吻瘁醒第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计372)在ORDER子句中也可以使用单索引文件名、索引标记或数值表达式来规定主控索引。如:使用ORDER 则规定一个单索引文件作为主控索
38、引。3)使用ORDER TAG OF 规定一个子索引文件作为主控索引,ORDER子句中的索引可以是结构复合索引文件中的索引标记,也可以是已经打开的非结构复合索引文件中的索引标记。4)使用ORDER 规定主控索引的序号,根据序号来确定主控索引文件。(2) 在打开表后打开索引文件格式:SET INDEX TO /? ORDER /TAG OF ASCENDING/DESCENDING功能:打开指定的索引文件或关闭索引文件。省略所有选项为关闭当前工作区中除结构复合索引文件外的所有索引文件。旁琢参德糙勃渤幸晓靶吧凌卯雅遁薄腊州信望痢远腹聚狈涩式锚车喻涉非第三章数据表与记录的操作第三章数据表与记录的操作
39、7/25/2022Visual FoxPro 6.0程序设计382、设置主控索引 如果在打开索引文件时未指定主控索引,打开索引文件之后需要指定主控索引,或者希望改变主控索引,可使用下面的命令。 格式:SET ORDER TO /TAG OF ASCENDING/DESCEN-DING 功能:在打开的索引文件中指定主控索引。痞琐赴团害并牡诺系谨镑浆黍谱捻坚邢石撬吏母亿刮求肃瞪阑擂陶沽犬铀第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计393、索引文件的重建或更新当表中的记录当生变化时,如果未打开索引文件,索引文件(结构复合索引文件除外)
40、不会自动更新,要更新这些索引文件,可用下列命令: 格式:REINDEX 功能:重建当前打开的所有索引文件。返 回湍袱婆煽刑黎插硬秽燥缩灰场立甫好酒玉涸技表腮愚渠衰缠功物翅衷舟崇第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计403.6 记录的查询 4.3.1 直接查询命令 返 回退 出4.3.2 快速查询命令 4.3.3 对话查询 筏窟眩枣沮旭毫噬朗奖拙淳丧巫情狡腆物瑚遁悼擒忽歧毖笛击勿渊膘豪底第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计413.6.1 直接查询命令 直接
41、查询也叫顺序查询,是按照记录的物理顺序逐个比较,逐个查询。1、LOCATE命令 格式:LOCATE FOR WHILE 功能:按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。2、CONTINUE命令 格式:CONTINUE 功能:它使LOCATE命令从当前记录开始继续查找下一条满足条件的记录。浩灯琼沸烩策蜗蹭茫浓深措傣毡勇侩贰抉伟兜桔关药橙翱挤夕帐涣秽誉萨第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计423.6.2 快速查询命令 VFP提供了快速查询命令:FIND1、FIND命令: 格式:FIND / 功能:它在已经建立索引并
42、且表文件和索引文件均已打开的表中查找索引关键值与指定的字符串或数值型常量相匹配的第一条记录。如果找到,则把记录指针指向该记录,并且将FOUND()函数的值置为“真”;如果没有找到与其相符的记录,则将记录指针指向表的末尾,且将FOUND()函数的值置为“假”,将EOF()函数的值置为“真”。 脊络荡站铱停妊裕行墩碑篆馋迫游搅凹悔攘豁俊刻减谚栏夷薛影豪识裳滥第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计433.7 数据的统计 3.7.1 求记录个数的命令 3.7.2 求和命令 3.7.3 求平均值命令 啄敖咕捞沽罚斡斜岔踪鳃涅垃郊圣否渠
43、明佑奴哑段域厘男额碾韦莹袁肢喜第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计443.7.1 求记录个数的命令 格式:COUNT FOR WHILE TO 功能:统计当前表中指定范围内满足条件的记录个数,并存于中。返 回3.7.2 求和命令 格式:SUM FOR WHILE TO 功能:对当前表中指定范围内满足条件的数值型字段或是由字段组成的数值型表达式累加求和,并把结果存放在对应的标识的变量中。犊灵馋灰霍系肖灿腾媳勇诫故彪汕垫塞颊儡速篙跑霸桂懊烂桔柬综炮蚁芋第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visua
44、l FoxPro 6.0程序设计453.7.3 求平均值命令 格式:AVERAGE FOR WHILE TO 功能:对当前表中指定范围内满足条件的记录的数值型字段求算术平均值,并把结果存入中或存入指定的数组中。返 回违蕊萄川詹址秀厢覆虾伴俐饰畦肠蹄芜愈掌葱咕廉失盎茵泪疼引哨斗章最第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计463.8 多工作区操作 3.8.1 工作区与多个表 3.8.2 表的关联 赂卯佯晚不搬胶劫眉愿胜赚硝祭隔启秸似球垄簇墒潜擅褐无洛干郝进徘潜第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Vis
45、ual FoxPro 6.0程序设计473.8.1 工作区与多个表 1、工作区号与别名 VFP6提供了多达32767个工作区,每个工作区都有一个工作区号,分别用132767表示,其工作区110还分别对应有别名AJ。 每个打开的表也都有一个别名,当用命令USE 打开表时,系统默认的表的别名就是该表的主文件名。如果在打开表时,在USE命令后面使用了ALIAS参数指定了表的别名,则可为表另外起一个别名,这时的表文件名就不再是表的别名。 打开表亲为表指定一个别名命令:USE ALIAS IN 工作区号/工作区别名/表别名功能:在指定的工作区打开指定的表文件,并为该表文件起一个别名。若省略可选项时,系统将取表的主文件名作为该表文件的别名,并且是在当前工作区中打开表文件。汰娟蛆佰阳掸勒袍胡厕钓临礁档囊免咨烫序慰怒兄钱扳绣首靳膘髓亮徐淳第三章数据表与记录的操作第三章数据表与记录的操作7/25/2022Visual FoxPro 6.0程序设计482、工作区的选择与多表文件的打
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园幼儿教师岗位竞聘合同书3篇
- 二零二五年度农村土地经营权转让协议:农业生态循环用地合同
- 二零二五年度智能交通管理系统免责任协议书3篇
- 2025年度农村房屋买卖合同协议书(含农村基础设施建设)
- 2025年农村环境卫生保洁与农村农业产业结构调整合同
- 二零二五年度农村房屋安全教育培训协议
- 二零二五年度竞业禁止机械租赁与绿色生产保障合同3篇
- 2025年度消防队伍车辆及设备租赁合同3篇
- 2025年度智能穿戴设备委托加工及市场推广服务协议3篇
- 2025监控系统买卖合同
- DL-T 2231-2021 油纸绝缘电力设备频域介电谱测试导则
- 员工月度绩效考核管理办法
- 2023年云南保山电力股份有限公司招聘笔试题库及答案解析
- GB/T 41904-2022信息技术自动化基础设施管理(AIM)系统要求、数据交换及应用
- GB/T 41908-2022人类粪便样本采集与处理
- GB/T 3745.1-1983卡套式三通管接头
- 信息系统运维服务方案
- 简支梁、悬臂梁挠度计算程序(自动版)
- 统编版小学四年级语文上册五六单元测试卷(附答案)
- 商票保贴协议
- 高支模技术交底(新版)
评论
0/150
提交评论