1 / 155

第三章 自由表( Free Table )

第三章 自由表( Free Table ). 3.1 表结构的创建和修改. 3.2 表 数据的输入. 3.3 表的打开、关闭、显示和定位. 3.4 记录数据 的修改和删除. 3.5 表 的排序、索引和查询. 3.6 表 的计算、汇总. 3.7 多表的 关联、连接和更新. 3.8 其它 有关命令操作. 3.9 结构化查询语言 SQL. 第三章 自由表( Free Table ). 本章学习 VFP 的自由表文件 .DBF 的建立和操作,分为二种方式来学习:

Download Presentation

第三章 自由表( Free Table )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 自由表(Free Table) 3.1 表结构的创建和修改 3.2 表数据的输入 3.3 表的打开、关闭、显示和定位 3.4 记录数据的修改和删除 3.5 表的排序、索引和查询 3.6 表的计算、汇总 3.7 多表的关联、连接和更新 3.8 其它有关命令操作 3.9 结构化查询语言SQL

  2. 第三章 自由表(Free Table) 本章学习VFP的自由表文件.DBF 的建立和操作,分为二种方式来学习: 菜单方式——用鼠标选择菜单项进行数据的管理和使用,即面 向对象的操作方法 命令方式——在命令窗口输入命令语句进行数据的管理和使用

  3. 3.1 表文件结构的建立和修改 • 一、表的结构的建立 • 结构(字段) • 表文件 • 数据(记录) • 建立表文件必须先定义好表的结构,即定义字段的三个参数: • 1.字段名——由汉字、字母、0—9的数字、“—”下划线组成。 如:学号、NAME、XH-1等。 • 2.字段类型: • (1)字符型(Character)字段(C):存贮所有能打印的ASCⅡ字符及空格符及所有汉字系统的可打印的汉字和各种符号,即任何文本(Text)。 • (2)数值(Numeric)型字段(N):存贮可参与加减乘除运算的0—9的数值。

  4. (3)逻辑型(Logical)字段(L):存放.真.或.假.两个逻辑值。输入T(t)或Y(y)为真,输入F(f)或N(n)为假。如,姓别:男或女,婚姻:真或假。(3)逻辑型(Logical)字段(L):存放.真.或.假.两个逻辑值。输入T(t)或Y(y)为真,输入F(f)或N(n)为假。如,姓别:男或女,婚姻:真或假。 (4)日期型(Date)字段(D):存贮日期数据。VFP规定输入和显示的默认格式为YYYYMMDD,对应年月日(年取4位)。可用SET DATE等设置命令改变为YY.MM.DD等多种格式。日期型字段可进行日期运算。 (5)备注型(Memo)字段(M):用以存贮大量的文字信息,表文件中如果包含有备注字段,则除了该表表文件外,还有一个与表文件同名扩展名“.FPT”的备注型文件,用来存放备每一条记录的注型字段的内容,而备注型字段本身只存放其内容在备注型文件中的地址。因此备注型字段除了能进行编辑、显示和打印外,不能进行其它操作。它是不定长度的长字符串输入,如:报告、文章、简介、说明等。 (6)通用型(General)字段(G):它类似一个备注型字段,但主要用来支持Microsoft的对象链接和嵌入OLE(Object linking and embedding)。通用数据型字段的内容也存贮在所分配的.FPT备注文件中,它可以包括任何类型的链接或嵌入的对象。

  5. 比如,可以链接或嵌入任何文本、图象、照片、声音、图表、二进制文件或由支持OLE的应用程序所建立的其它对象进入通用数据型字段。比如,可以链接或嵌入任何文本、图象、照片、声音、图表、二进制文件或由支持OLE的应用程序所建立的其它对象进入通用数据型字段。 (7)日期时间型(Date Time)字段(T):既可以存贮日期,也可以存贮时间或者两者兼有的值。其值是以“yyyymmddhhmmss”字符格式存贮的,即年月日时分秒的形式。可用设置命令设置格式。 (8)浮点数值型(Float)字段(F):或叫浮动型字段,与N型字段相同,是数值类型,以ASCⅡ码形式表示。主要用于科学运算应用程序(因它要求精确运算)。以IEEE(Institute of Electrical and Electronics Engineers)所描述的二进制浮点表示型式存贮 (9)双精度数据型(Double)字段(B):双精度比值型数据(Numeric) 精确。Double数据型是真正的浮点数(双精度的),一般用于科学计算。

  6. (10)整数型 (Integer) 字段(I):使用没有小数值的整数。 (11)货币型(Currency)字段(Y):表示货币量的数据而代替用数值型(N)数据表示货币。它的值的范围是-2337203685477.5808至22337203685477.5807。值的前面应有美元符号“$” 。如$388.88等。 (12)二进制 (binary)字符型字段:存放想维持的、不用通过代码页转变的任何字符数据。它的值的范围是任何字符。 (13)二进制(Binary)备注型字段:存放想维持的、不用通过代码页转变的任何备注字段数据。它的范围仅受现存内存限制。

  7. 3.字段宽度——字段中能够存放的最大字符数或数字的最大位数 字符型字段不得大于254个字符,否则用备注型字段存贮。 数字型字段(N)的宽度=整数位数+小数位数+1(小数点) 逻辑型字段宽度为1, 日期型、日期时间型、货币型、双精度数据型字段宽度为8 备注型、通用型、整数型以及二进制备注型(Binary)字段宽 度为4。 浮点数值型字段(F)的宽度=整数位数+小数位数+1(小数点)二进制字符型(Binary)为1到254个字节。 4.小数位:字段的类型是数字型(N)和浮点型(F),就须给出小数位数。

  8. 二、建立表结构的命令 格式:CREATE [<文件名>|?] 功能:建立一个新的表文件,文件的扩展名是.DBF。 如:CREATE STU.DBF 进入表设计器,可定义表的结构(三个参数)了。见P40。

  9. 例1:建立文档管理系统的表结构,DF.DBF 字段名 类型 宽度 小数位 (1)登录号 字符型(C) 9 (2)登录时间 日期型(D) 8 (3)关键词 字符型(C) 11 (4)行文者号 字符型(C) 10 (5)文档名 字符型(C) 50 (6)行文者名 字符型(C) 0 (7)行文地 字符型(C) 50 (8)登出刊物 字符型(C) 20 (9)行文时间 日期型(D) 8 (10)页数 数字型(N) 3 (11)涉及金额 数字型(N) 11 4 (12)处理情况 字符型(C) 50 (13)摘要 备注型(M)4

  10. 方法:1、在命令窗口键入create DF.DBF 2、用鼠标单击:文件菜单笺(主菜单)—新建(弹出的子菜单)—表(对话框)—新文件。

  11. 例2:建立学生成绩档案STU2.DBF。字段有学号,姓名,性别,体育,高数,计算机基础,英语,平均成绩,总分,排名,备注。例2:建立学生成绩档案STU2.DBF。字段有学号,姓名,性别,体育,高数,计算机基础,英语,平均成绩,总分,排名,备注。 用二种方式来建立:(1)窗口用命令建立 (2)用菜单方式建立 实际练习1

  12. 三、表结构的修改命令 格式:MODIFY STRUCTURE 功能:显示表文件结构,并允许修改此表的结构。 练习:修改表文件STU2.DBF。 MODIFY STRU 实际练习2

  13. 3.2 表数据的输入 一、建立表结构时输入 建立表结构后,VFP系统会提示:“现在输入数据记录吗?”,如果选择是“Y”,系统则打开一个表窗口,在此窗口中,显示出表文件记录的全部字段,依次输入这些字段的数据,记录就存在了。当完成输入时,用鼠标单击此窗口右上角带×的按钮关闭窗口,便可退出完成,该表文件的数据就以记录的形式保存。 *备注型字段的数据输入方法 二、追加记录命令 APPEND 命令格式:APPEND [BLANK] 作用:在当前表的尾部(无论表中有无记录)追加新一条记录(或一条空记录)。 --正在操作的表。 当前表

  14. 三、在表中插入记录命令INSERT 格式:INSERT [BEFORE] [BLANK] 功能:在表文件中插入一条新录。 四、用BROWSE命令追加数据记录 格式:BROWSE 作用:打开了浏览窗口,可增加、修改、查阅记录。 实际练习3

  15. 3.3 表的打开、关闭、显示和定位 一、打开和关闭表文件命令 格式1:USE [<文件名>] 功能:打开<文件名>指定的表文件,该表如有备注型字段,则自动同时打开相应的备注文件。 格式2:USE 功能:关闭当前打开的表文件。 格式3: close all 功能: 关闭所有打开的文件。

  16. 二、表的显示和列表 建立表后,用户根据需要经常要对表进行各种查询显示和打印。 1.显示表的记录 LIST命令 格式:LIST [OFF] [<范围>][[FIELDS]<表达式表>] [WHILE<条件>][FOR<条件>][TO PRINT|TO FILE<文件>] 功能:连续显示表文件的内容。 说明:用户可根据自己的需要确定上面的任选项,组合LIST命令的各种功能、形式。 选项功能: 表示不显示记录号 [OFF]

  17. 指定对哪些记录进行操作。 范围包括: RECORD n 第几号记录 NEXT n 当前记录开始的几个记录(n可是一个表达式) REST 自当前记录开始至文件末尾的所有记录。 ALL 所有的记录。不选[<范围>]则隐含范围为ALL。 [<范围>] 每个表达式可以是字段名表,也可以是一般的表达式,但之间用“,”分隔。 [[FIELDS]<表达式>] 从当前记录开始查找,当出现第一个不满足条件的记录时则停止查找。这种方式一般用于经过排序或索引的表文件。 WHILE<条件>]

  18. 从<范围>内的第一个记录开始, 显示所有条件满足的 记录 ,直到范围内的记录搜索完毕(与WHILE<条件>]的区别)。 注:<条件>是逻辑表达式,它只有真和假两个值,条件满足为真(.T.),条件不满足为假(,F.)。 [FOR<条件>] [TO PRINT]:在打印机上打印出来。 [TO FILE<文件>]:将结果输出到用<文件>指定的磁盘文件。 例如1:查看STU1表中所有计算机基础成绩大于或等于80分的学生的信息 LIST ALL FOR 计算机基础>=80

  19. 例如2:查看STU1表中所有计算机基础成绩为80分及以上学生的学号,计算机基础成绩,体育成绩。

  20. 例如3:查看STU2表中所有学生。

  21. 例如4:查看STU2表中所有就读方式为统招的男生的学号,姓名。例如4:查看STU2表中所有就读方式为统招的男生的学号,姓名。

  22. DISPLAY命令 命令格式:DISPLAY [OFF][<范围>][[FIELDS]<表达式>][WHILE<条件>][FOR<条件>][TO PRINT|TO FILE<文件>] DISPLAY 与LIST命令功能不同点: (1) VFP的DISPLAY命令每显示一个窗口的信息暂停一次。按任意键继续显示,而LIST显示不暂停。 (2) DISPLAY命令省略范围选择项时,仅显示当前记录,而LIST命令则显示所有记录。 例3:显STU2表的第4条记录的内容。

  23. 2.显示表的结构 格式:LIST STRUCTURE [TO PPRINT|TO FILE<文件>] 菜单方式:显示——表设计器(并可修改) 3.显示表工作状态 格式:LIST STATUS [TO PRINT|TO FILE<文件>]

  24. 三、记录的定位 打开表时,指针总是指向第一条记录。但可随着操作指针要移动,或用命令移动指针,改变当前记录。 定位命令是最直接的一种。即用GOTO命令或SKIP命令移动指针。 格式1:GO[TO] [ RECORD <n>] 定位到记录号为n的记录 GO[TO] TOP 定位到第1条记录 GO[TO] BOTTOM 定位到最后一条记录

  25. 例5: USE stu1 GO BOTTOM DISPLAY

  26. GO TOP DISPLAY GO 3 disp

  27. 格式2:SKIP [±n] 功能:以当前记录为基准前移(-)或后移(+)N条记录。 说明:不选任选项,则默认n=+1。 注意:SKIP命令是相对移动,GOTO命令是绝对移动。 SKIP命令上移不能超过首记录,下移不能超过末记录。

  28. 例4.6:

  29. 3.4 记录数据的修改和删除 一、修改表数据 1、 EDIT修改命令 格式:EDIT 功能:显示需修改的记录。 例7

  30. 2、浏览修改命令BROWSE 格式:BROWSE[FIELDS<字段名表>][LOCK<数值表达式>][FREEZE<字段名>] 功能:BROWSE可打开一个全屏幕编辑窗口, 可浏览、修改、删除、追加记录。 说明: [LOCK<数值表达式>]指定屏幕左边锁定字段的个数,当屏幕左右平移时,这些锁定的字段保持在原来的位置不动,便于用户对照。 [FREEZE <字段名>] 使光标冻结在这个字段上,用户只能修改该字段的数据,其它字段只能显示不能修改,提高了数据的安全性和操作效率。

  31. [FOR<表达式>]按指定条件进行判断,当<表达式>的值为真时,方可显示记录。[FOR<表达式>]按指定条件进行判断,当<表达式>的值为真时,方可显示记录。 例 8: use STU1 browse lock 1 freeze 数学

  32. 3、表运算替代命令 格式:REPLACE [<范围>] <字段名1> WITH <表达式1>[,<字段2> WITH <表达式2>[ADDITIVE]…][FOR<条件>][WHILE<条件>] 功能:用表达式的值代替命令中与之相对应的字段的内容,对满足<条件>和<范围>的记录可成批自动、快速地修改。 例1:use stu1

  33. 4、修改通用(General)字段 VFP支持微软公司的Windows对象链接和嵌入(OLE),MODIFY GENERAL命令可在任何活动表的当前记录编辑、修改装有OLE对象通用(General)字段。 格式:MODIFY GENERAL<通用字段> 菜单操作:直接用鼠标双击通用(General)字段, 打开了指定的通用字段的编辑窗口,用户可进行修改等操作.

  34. 二、删除表记录 1、给记录加删除标记 格式:DELETE [<范围>][WHILE<条件>][FOR<条件>] 功能:给要删除的记录作删除标记。 说明:本命令只给记录作删除标记.记录末删除,仍在表中. 命令操作时“*”即为删除标记,用菜单编辑窗口活动时,窗口中记录左边的方块钮,当为黑色时即是加了删除标记, 白色为恢复记录.

  35. 例 9

  36. 2、恢复加删除标记的记录 格式:RECALL [<范围>] [FOR<条件>] [WHILE<条件>] 功能:取消记录的删除标志。

  37. 3、彻底删除 格式:PACK 功能:删除当前表中加有删除标记的所有记录。 注:从当前表中删除记录后不可恢复。

  38. 4、表记录全部删除命令ZAP 格式:ZAP [IN<工作区号>|<表别名>] 功能:将所有的记录从表中删去,只留下表的结构。 说明:执行ZAP命令等于先执行DELETE ALL,然后再执行PACK。

  39. 以上的所有操作都可在浏览表后,操作主菜单中“表”进行。以上的所有操作都可在浏览表后,操作主菜单中“表”进行。

  40. 3.5 表的排序、索引和查询 物理整理 一、表的排序:对表记录进行物理整理,生成一个新表文件。 格式:SORT TO <文件名> ON <字段名1> [/A][/D][/C][,<字段名2>[/A][/C][/D]]… [<范围>] [FIELDS<字段表>] [FOR<条件>] [WHILE<条件>] 功能:按关键字段的值从小到大(升序/A)或从大到小(降序/D)将表的记录重新排列,生成一个新的表文件(.DBF)。 说明:(1)新表文件的结构与原表结构一样。 (2)选项>[/A]是升序,[/D]是降序。如有[/C]选是指按字典排列,大小写一样:0——9,Aa——Zz;如无[/C]选是指按ASC‖码顺序排列:0——9,A——Z,a——z。

  41. (3)使用排序表文件时,必先打开。如添加了新记录,必须重新排序,生成一个新表文件。(3)使用排序表文件时,必先打开。如添加了新记录,必须重新排序,生成一个新表文件。 例1:

  42. 二、表的索引:对表记录进行逻辑整理,生成一个索引文件。二、表的索引:对表记录进行逻辑整理,生成一个索引文件。 1、索引的类型 逻辑整理 . IDX文件:只包含一单个索引。 压缩文件,选COMPACT] 类型 非压缩文件 . CDX文件 (复合索引文件) : 包含多个索引,每个索引叫 一个索引标识。 结构复合索引文件,其文件名与表名相同,打 开表时自动打开。 独立复合索引文件

  43. 2、索引文件的建立 建立.IDX索引文件: 格式1: INDEX ON <关键字表达式> TO <文件名> [COMPACT] [ADDITIVE] 功能:对当前表中各记录<关键字表达式>的值的大小,以升序进行记录逻辑上的重新排序,并将逻辑顺序存入TO后指定的索引文件名的索引文件中。 例2:

  44. 建立.CDX索引文件 格式2:INDEX ON <关键字表达式> TAG <标识名> [OF<文件名>] [FOR <条件>] 功能:对当前表根据关键字表达式的值以升序进行记录的逻辑排序,并将逻辑顺序存入与表文件名同名或[OF<文件名>]所指的复合索引文件的一个标识中。

  45. 如在STU2表文件中已建立了下面的索引文件:

More Related