[计算机软件及应用]Visual FoxPro 60的操作ppt课件_第1页
[计算机软件及应用]Visual FoxPro 60的操作ppt课件_第2页
[计算机软件及应用]Visual FoxPro 60的操作ppt课件_第3页
[计算机软件及应用]Visual FoxPro 60的操作ppt课件_第4页
[计算机软件及应用]Visual FoxPro 60的操作ppt课件_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021/5/181在关系型数据库中,一个关系就是一张二维表。二维表以文件形式存储于计算机中,称为表文件简称表,表文件扩展名为.dbf。表是处理数据和建立关系型数据库的根本单元,是数据库的根本组成成分。Visual FoxPro系统有两种表:数据库表和自由表。二者可以互相转换。2021/5/1822.1 表的创立2.2 表的根本操作2.3 表的排序与索引2.4 表的查询2.5 表的统计与计算2.6 多表操作2021/5/1832.1 表的创立表由表构造和表记录两部分组成。表构造描绘了数据存放形式以及存储的顺序,也就是指一张表的表头构造,即字段的根本属性。确定了表的字段,就完成了对表机构的定义。

2、表记录即表中的一行,是表要保存的数据主体。数据由记录组成,字段是构成记录的根本单元。创立一个表,首先要建立表构造,然后再输入表记录。2021/5/1842.1.1 表构造的设计表机构的设计就是定义表中各个字段的属性。字段的属性包括字段名、字段类型、字段宽度、小数位数和空值支持。2021/5/1851.字段名字段又称为字段变量,字段名即每个字段的名字,必须以字母或汉字开头,可由字母、数字、汉字、下划线组成,字母大小写无区别,但其中不允许出现空格或其他字符。自由表的字段名最多可由10个字符组成,数据库表的字段名最多可由128个字符组成。当数据库表转换成自由表时,此表的长字段名将截短为10个字符。2

3、021/5/1862.字段类型字段类型决定了存储在该字段变量中的数据类型。Visual FoxPro定义了13种字段类型,常用的字段类型有字符型C、数值型N、货币型Y、日期型D、日期时间型T、逻辑型L、备注型M和通用型G。3.字段宽度字段宽度规定了字段所能包容数据的最大字节数。2021/5/1874.小数位数小数位数规定了数值型数据要保存几位小数。此时的字段宽度=整数位数+1+小数位数。5.NULL值用于说明某个字段是否允许NULL值空值。NULL值是指无明确的值。NULL值不等同于零或空格。一个NULL值不能认为比某个值包括另一个NULL值大或小,相等或不等。作为关键字的字段不允许空值。20

4、21/5/1882.1.2 表的创立1.表构造的创立【格式】CREATE 表文件名 【功能】创立表的构造【说明】表文件的扩展名“.dbf可以省略不写。此命令所创立的表文件是保存在Visual FoxPro的默认途径下,Visual FoxPro的默认途径可以通过相关设置进展更改。 2021/5/189【例2.1】创立学生表 。CREATE 学生在命令窗口中执行上述命令后,那么弹出表设计器。将各字段的字段名、类型、宽度和小数位数等输入到表设计器中,单击“确定按钮,即可完成表构造的创立。如下图。2021/5/18102.表记录的输入在表设计器中设置好表构造后,单击“确定按钮,那么会弹出如下图的对话

5、框,询问用户是否如今输入记录。假如单击“是按钮,那么会翻开如下图的输入记录窗口。2021/5/18112.2 表的根本操作 表的根本操作包括表的翻开与关闭、表构造的显示与修改、表记录的显示、记录指针定位、表记录的修改、表记录的添加、表记录的删除和恢复、表的复制及表与数组间的数据传递。2021/5/18122.2.1 表的翻开与关闭 1.表的翻开【格式】USE【功能】翻开指定的表。【说明】表文件的扩展名“.dbf可以省略不写。新翻开的表文件,记录指针指向第一条记录。 2021/5/18132.表的关闭1使用USE命令【格式】USE【功能】关闭当前工作区中已经翻开的表文件。2使用CLEAR命令【格

6、式】CLEAR ALL【功能】关闭所有工作区中已经翻开的表文件、索引文件、格式文件和备份文件等,同时释放所有的内存变量,并选择工作区1为当前工作区。2021/5/18143使用CLOSE命令【格式】CLOSE ALL【功能】关闭各种类型文件,并选择工作区1为当前工作区。4退出Visual FoxPro系统【格式】QUIT【功能】关闭所有翻开的文件,退出Visual FoxPro 系统,并返回到操作系统。2021/5/18152.2.2 表构造的显示与修改1.表构造的显示【格式】LIST|DISPLAY STRUCTURE TO PRINTTO FILE 【功能】显示当前表文件的构造。2.表构造

7、的修改【格式】MODIFY STRUCTURE 【功能】修改当前表文件的构造2021/5/1816【例2.3】显示学生表的构造。USE 学生 LIST STRUCTURE显示结果如下图。2021/5/18172.2.3 表记录的显示【格式】LIST|DISPLAY FIELDS FOR WHILE OFF TO PRINTER PROMPT|TO FILE 【功能】将当前表文件的记录按照指定的选项进展显示。2021/5/1818【说明】FIELDS :用来指定要显示的字段,关键字FIELDS可以省略不写。假如将FIELDS 全部省略,那么默认显示表中所有字段。:用来指定要显示的记录范围。范围子

8、句共有4种指定方式,分别是ALL、RECORD N、NEXT N和REST。FOR 和WHILE :用来指定要显示的记录所要满足的挑选条件。二者的区别在于FOR 指定表中满足挑选条件的所有记录,WHILE 指定表中从当前记录开场到第一次条件不满足为止之前的所有记录。命令动词DISPLAY和LIST的区别:DISPLAY是分屏显示,LIST是滚屏显示;假如同时省略和子句,DISPLAY只显示当前记录,而LIST那么显示全部记录。OFF选项:假设不需要显示记录号,那么使用OFF选项。LIST和DISPLAY两条命令在执行过程中都可能会引起记录指针的挪动。2021/5/1819【例2.5】显示学生表

9、中全部记录的学号、姓名、性别、专业和入学成绩字段。USE 学生LIST FIELDS 学号,姓名,性别,专业,入学成绩显示结果如下图。2021/5/1820【例2.7】显示学生表中前5条记录的全部信息。USE 学生 LIST NEXT 5显示结果如下图。2021/5/1821【例2.8】显示学生表中计算机专业学生的学号、姓名和专业信息。USE 学生LIST 学号,姓名,专业 FOR 专业=计算机显示结果如下图。2021/5/1822【例2.10】显示学生表中入学成绩在590分至610分之间的少数民族学生的全部信息。USE 学生DISPLAY FOR 入学成绩=590 AND 入学成绩=610

10、AND NOT 汉族否显示结果如下图。 2021/5/18232.2.4 记录指针定位表的记录指针,是一个指示器,用以指示当前被操作的记录,即当前记录。假如要对某条记录进展操作,必须挪动记录指针,使其指向该条记录,这就是记录指针的定位。刚翻开的表,即使是空表,记录指针都自动指向记录号为1的记录。记录指针的定位有绝对定位、相对定位和查询定位。2021/5/18241.绝对定位【格式】GOTO RECORD【功能】将记录指针绝对定位到“记录号所指示的记录上。【说明】绝对定位与是否翻开索引文件没有关系。 2021/5/1825【例2.12】显示学生表中第3条和第5条记录。USE 学生GO 3DISP

11、LAY5?RECNODISPLAY结果如下图。2021/5/18262.相对定位【格式1】SKIP 【功能】将记录指针从当前记录位置向上或向下挪动假设干条记录。 【格式2】GOTO 【功能】将记录指针移到表文件的首记录或尾记录。2021/5/1827【例2.13】写出以下命令执行后的结果。USE 学生SKIP 2 ?RECNOGO TOP?RECNO?BOF,EOFSKIP -1?BOF,EOF?RECNOGO BOTTOM ?RECNO?BOF,EOF SKIP ?RECNO?BOF,EOF2021/5/18282.2.5 表记录的修改1.编辑修改【格式】EDIT|CHANGEFIELDSF

12、OR 【功能】按照给定的范围和条件编辑修改当前翻开的表文件的记录。执行该命令后,系统翻开记录编辑窗口,供用户进展记录的修改。2.阅读修改【格式】BROWSEFIELDSFOR【功能】按照给定的条件阅读修改当前翻开的表文件的记录。执行该命令后,系统翻开记录阅读窗口,供用户进展记录的修改。2021/5/18293.交换修改【格式】REPLACE WITH ADDITIVE, WITH ADDITIVE,FOR 【功能】用指定表达式的值交换当前表中满足条件记录的指定字段的值。2021/5/1830【例2.17】将学生表中所有少数民族学生的入学成绩加10分。USE 学生REPLACE 入学成绩 WIT

13、H 入学成绩+10 FOR NOT 汉族否LIST显示结果如下图。 2021/5/1831【例2.18】求出入学成绩表中每个学生的总分。USE 入学成绩REPLACE ALL 总分 WITH 语文+数学+外语+综合LIST显示结果如下图。 2021/5/18322.2.6 表记录的添加 1.插入记录【格式】INSERT BEFORE BLANK【功能】在当前表的指定位置上插入一条或多条记录。 【例2.19】在学生表中第2条记录之后插入一条新记录,在第5条记录之前插入一条空白记录。USE 学生GO 2INSERTGO 5INSERT BEFORE BLANK2021/5/18332.追加记录【格

14、式】APPEND BLANK【功能】在当前表的表尾追加一条或多条记录。【例2.20】在学生表的表尾追加一条空白记录。USE 学生APPEND BLANK3.从另一个表文件中追加记录【格式】APPEND FROM FIELDS FOR 【功能】从指定表文件中读取数据并追加到当前表文件的末尾。2021/5/1834【例2.21】现有一空表,表名为“计算机专业学生信息,表构造与学生表完全一样。要求从学生表中读取计算机专业的学生信息追加到此表中。USE 计算机专业学生信息APPEND FROM 学生 FOR 专业=计算机LIST显示结果如下图。2021/5/18352.2.7 表记录的删除和恢复1.逻

15、辑删除记录【格式】DELETE FOR WHILE 【功能】对当前表中指定的范围内满足条件的记录加上删除标记。2021/5/1836【例2.22】逻辑删除学生表中入学成绩低于600分的学生记录。USE 学生DELETE FOR 入学成绩600LIST显示结果如下图。2021/5/18372.隐藏逻辑删除的记录【格式】SET DELETED ON|OFF【功能】将表中已经逻辑删除的记录隐藏或显示。【例2.23】隐藏例3.22中学生表中逻辑删除的记录。USE 学生SET DELETED ONLIST显示结果如下图。2021/5/18383.恢复逻辑删除的记录【格式】RECALL FOR WHILE

16、 【功能】对当前表中指定范围内满足条件并已逻辑删除的记录取消其删除标记,恢复为正常记录。2021/5/1839【例2.24】恢复学生表中所有被逻辑删除的记录。USE 学生RECALL ALLLIST显示结果如下图。2021/5/18404.物理删除已被逻辑删除的记录【格式】PACK【功能】将当前表中所有带删除标记的记录彻底从表中删除。5.物理删除全部记录【格式】ZAP【功能】物理删除当前表中的全部记录。2021/5/1841【例2.25】逻辑删除计算机专业学生信息表中男生的记录后再将其物理删除。USE 计算机专业学生信息DELETE FOR 性别=男LISTPACKLIST显示结果如下图。20

17、21/5/18422.2.8 表的复制1.复制表构造【格式】COPY STRUCTURE TOFIELDS【功能】将当前表的构造复制到指定的表中。仅复制当前表的构造,不复制其记录数据。【例2.26】将学生表的学号、姓名、性别、专业和入学成绩字段复制给新表JGFZ。USE 学生COPY STRUCTURE TO JGFZ FIELDS 学号,姓名,性别,专业,;入学成绩2021/5/18432.复制表文件【格式】COPY TO FIELDSFOR【功能】将当前表中的数据与构造同时复制到指定的表文件中。此命令还可以将当前表复制生成一个其他格式的数据文件。【例2.27】将学生表复制生成新表STUDE

18、NT,其构造和记录完全一样。USE 学生COPY TO STUDENT2021/5/18442.2.9 表与数组间的数据传递1.将表的单个记录的值传递到一维数组中【格式】SCATTER FIELDS TO 【功能】将当前表中当前记录指定字段的内容依次存入数组中。2.将数组传递到表的当前记录中【格式】GATHER FROM FIELDS MEMO【功能】将数组中的数据作为一条记录传递到当前表的当前记录中,以更新各个字段的内容。2021/5/18453.将表的多条记录复制到二维数组中【格式】COPY TO ARRAY FIELDS FOR【功能】将把指定范围内满足条件的所有记录的有关字段内容全部复

19、制到指定的数组中。4.从数组向表传递多个记录【格式】APPEND FROM ARRAY FOR FIELDS 【功能】将满足条件的数组行的数据按记录形式依次添加到当前表中,但该命令将忽略备注型字段。2021/5/18462.3 表的排序与索引表中的记录是按照输入记录时的先后顺序即物理顺序排列存放的。但在实际的数据处理应用中,表中的数据量很大,为了方便迅速查找及处理数据,就需要将表中的记录按一定的顺序重新排列。在Visual FoxPro中提供了两种重新排列数据的方法:排序和索引。2021/5/18472.3.1 排序【格式】SORT TO ON /A|/D/C,/A|/D/C FIELDS F

20、OR 【功能】对当前表中的记录按指定的字段进展排序,并将排序后的记录保存到一个新表中。2021/5/1848【例2.28】将学生表中所有男生的记录按入学成绩从高到低进展排序,生成新表NSCJ。USE 学生SORT TO NSCJ ON 入学成绩/D FOR 性别=男USE NSCJLIST显示结果如下图。2021/5/1849【例2.29】将学生表中的所有记录按专业升序排列,专业一样的按入学成绩降序排列,生成新表ZYCJ,只包含学号、姓名、专业和入学成绩4个字段。USE 学生SORT TO ZYCJ ON 专业,入学成绩/D FIELDS 学号,姓名,专业,;入学成绩USE ZYCJLIST显

21、示结果如下图。2021/5/18502.3.2 索引1.索引的定义索引是按指定的关键字表达式将表中记录从逻辑上进展有序排列的技术。索引是以索引文件的形式存在的。索引文件决定的记录的排列顺序称为逻辑顺序。一个表文件可以创立多个索引文件,索引文件必须与表文件一起使用,而不能单独使用。2021/5/18512.索引文件的类型索引文件的类型有两种:单索引文件和复合索引文件。单索引文件是根据一个索引关键字表达式建立的索引文件,其扩展名为.idx。复合索引文件中可包含多个索引标识,复合索引文件的扩展名为.cdx。复合索引文件又分为两种:构造复合索引文件和非构造复合索引文件。构造复合索引文件的主文件名与对应

22、的表文件的主文件名同名,其扩展名为.cdx。构造复合索引文件随表的翻开而自动翻开,随表的关闭而自动关闭。非构造复合索引文件的主文件名由用户指定,其扩展名为.cdx。2021/5/18523.索引的类型主索引候选索引 普通索引 唯一索引 2021/5/18534.索引文件的建立1单索引文件的建立【格式】INDEX ON TO UNIQUE FOR ADDITIVE【功能】对当前表文件按指定的索引关键字表达式升序建立普通索引或唯一索引,并存储在单索引文件中。2021/5/1854【例2.30】将学生表中的所有记录按入学成绩建立单索引文件。USE 学生INDEX ON 入学成绩 TO RXCJLIS

23、T显示结果如下图。2021/5/1855【例2.31】将学生表中的所有记录按专业和入学成绩建立单索引文件。USE 学生INDEX ON 专业+STR入学成绩,5,1 TO ZYCJLIST显示结果如下图。2021/5/18562构造复合索引文件的建立【格式】INDEX ON TAG UNIQUE|CANDIDATE ASCENDING|DESCENDING FOR ADDITIVE【功能】对当前表文件按指定的索引关键字表达式升序或降序建立普通索引、唯一索引、候选索引,并以索引标识的形式存储在与表同名的构造复合索引文件中。2021/5/1857【例2.33】将学生表中的所有记录按入学成绩降序建立

24、构造复合索引文件的索引标识。USE 学生INDEX ON 入学成绩 TAG CJ DESCENDINGLIST显示结果如下图。2021/5/18583非构造复合索引文件的建立【格式】INDEX ON TAG OF UNIQUEASCENDING|DESCENDING FOR ADDITIVE【功能】对当前表文件按指定的索引关键字表达式升序或降序建立普通索引或唯一索引,并以索引标识的形式存储在非构造复合索引文件中。2021/5/1859【例2.34】为学生表建立一个名为FJG的非构造复合索引文件,其中包含一个按专业建立的索引标识ZY。USE 学生INDEX ON 专业 TAG ZY OF FJG

25、LIST显示结果如下图。2021/5/18605.索引文件的翻开1同时翻开表和索引文件【格式】USE INDEX ORDER|TAGOFASCENDING|DESCENDING【功能】翻开指定表文件的同时翻开相关的索引文件。2021/5/1861【例2.35】在翻开学生表的同时翻开单索引文件RXCJ和ZYCJ,指定ZYCJ为主控索引。USE 学生 INDEX ZYCJ,RXCJLIST显示结果如下图。2021/5/18622翻开表后再翻开索引文件【格式】SET INDEX TOORDER|TAGOFASCENDING|DESCENDING【功能】在已翻开表文件的前提下,翻开相关索引文件。【例2

26、.36】翻开学生表的两个单索引文件RXCJ和ZYCJ,指定ZYCJ为主控索引。USE 学生SET INDEX TO ZYCJ,RXCJ2021/5/18636.主控索引的指定【格式】SET ORDER TO |TAGOFASCENDING|DESCENDING【功能】指定主控索引。【例2.37】在学生表已经翻开的索引文件中,重新指定RXCJ为主控索引。USE 学生SET INDEX TO ZYCJ,RXCJLISTSET ORDER TO RXCJ2021/5/18647.索引文件的关闭【格式1】USE【功能】关闭当前工作区中翻开的表文件及所有索引文件。【格式2】SET INDEX TO【功能

27、】关闭当前工作区中翻开的所有单索引文件和非构造复合索引文件,而表文件和构造复合索引文件保持翻开状态。【格式3】CLOSE INDEX【功能】关闭当前工作区中翻开的所有单索引文件和非构造复合索引文件,而表文件和构造复合索引文件保持翻开状态。2021/5/18658.索引文件的更新【格式】REINDEX【功能】按照原先创立索引的规那么重新创立索引文件。 2021/5/18662.4 表的查询查询是指按照指定的查找条件从数据表中查找所需的记录。在数据处理的实际应用中,经常需要在大量的数据中进展查询操作,查询是检索数据的主要方法。Visual FoxPro提供的查询方法有顺序查询和索引查询。2021/

28、5/18672.4.1 顺序查询【格式】LOCATE FOR WHILE【功能】按顺序搜索表从而找到满足指定条件的第一条记录。【例2.38】查询学生表中计算机专业女生的信息。USE 学生LOCATE FOR 专业=“计算机 AND 性别=女?FOUNDDISPLAYCONTINUEDISPLAY2021/5/18682.4.2 索引查询1.FIND查询【格式】FIND |【功能】在表中查找其主控索引关键字值与或相匹配的第一条记录。【例2.39】查询学生表中姓名为“刘阅的记录信息。USE 学生INDEX ON 姓名 TO XMFIND 刘阅?FOUNDDISPLAY显示结果如图所示。2021/5

29、/18692.SEEK查询【格式】SEEK 【功能】在表中查找其主控索引关键字值与指定表达式的值相匹配的第一条记录。【例2.40】查询学生表中所有少数民族学生的信息。USE 学生INDEX ON 汉族否 TO MZSEEK .F.?FOUNDDISPLAYSKIP2021/5/1870DISPLAYSKIPDISPLAY显示结果如下图。2021/5/1871【例2.41】查询学生表中计算机专业男生的信息。USE 学生INDEX ON 专业+性别 TO ZYXBSEEK “计算机男?FOUNDDISPLAYSKIPDISPLAY显示结果如下图。2021/5/18722.5 表的统计与计算统计与计

30、算也是数据处理应用中常用的一类操作。Visual FoxPro主要提供了5个相关的命令,分别是统计记录数、求和、求平均值、综合计算和分类汇总。2021/5/18732.5.1 统计记录个数【格式】COUNT FORWHILETO 【功能】统计当前表中指定范围内满足指定条件的记录个数。【例2.42】统计学生表中所有少数民族学生的人数。USE 学生COUNT FOR NOT 汉族否 TO X?少数民族学生人数是:,X2021/5/18742.5.2 求和【格式】SUM FORWHILETO 【功能】对指定范围内满足条件的记录按指定的各个表达式分别求和。【例2.43】对入学成绩表中所有学生的语文、数

31、学、外语三科成绩分别求和。USE 入学成绩SUM 语文,数学,外语2021/5/18752.5.3 求平均值【格式】AVERAGE FORWHILETO 【功能】对指定范围内满足条件的记录按指定的各个表达式分别求平均值。【例2.44】对学生表中所有学生的入学成绩求平均分。USE 学生AVERAGE 入学成绩2021/5/18762.5.4 综合计算【格式】CALCULATE FOR WHILE TO【功能】分别计算当前表中表达式表的值。【例2.45】分别统计计算学生表中的学生总数、平均入学成绩和最高入学成绩。USE 学生CALCULATE CNT,AVG入学成绩,MAX入学成绩2021/5/1

32、8772.5.5 分类汇总【格式】TOTAL TO ON FIELDS FOR WHILE【功能】将当前表中的记录进展分类汇总,并把汇总的结果存入生成的新表中。【例2.46】将学生表中的记录按性别对入学成绩进展汇总,生成汇总表CJHZ。USE 学生INDEX ON 性别 TO XBTOTAL TO CJHZ ON 性别USE CJHZLIST2021/5/18782.6 多表操作前面几节介绍的表操作都是在默认的同一个工作区中进展的,而Visual FoxPro规定一个工作区最多只能翻开一个表,因此,当翻开一个新表时,以前翻开的表就被自动关闭了,那么进展的表操作始终都是针对单个表的。但在数据处理

33、的实际应用中,经常需要同时对多个表的数据进展操作。为理解决这个问题,Visual FoxPro提供了多工作区的工作形式。2021/5/18792.6.1 工作区1.工作区的定义工作区是Visual FoxPro用来存放翻开的表而在内存中开拓的一块存储区域。Visual FoxPro一共提供了32767个工作区,而每个工作区只能翻开一个表,那么Visual FoxPro最多同时可以翻开32767个表来进展多表操作。但一次只能对一个工作区进展操作,那么当前正在操作的工作区称为当前工作区,当前工作区中的表称为当前表。系统默认1号工作区为当前工作区。2021/5/18802.选择当前工作区【格式】SELECT |【功能】选择指定的工作区为当前工作区。【例2.47】依次在1、2、3号工作区翻开学生表、老师表和入学成绩表,并指定老师表为当前表,显示其记录信息。SELECT 1 USE 学生SELECT 2USE 老师 ALIAS JSSELECT C USE 入学成绩SELECT JS2021/5/18813.工作区的互访【格式1】别名.字段名【格式2】别名-字段名【例2.48】依次在1、2号工作区翻开学生表和入学成绩表,并指定1号工作区为当前工作区,且显示学生表所有记录的学号、姓名、专业字段和入学成绩表的语文、数学字段。SELECT AUSE 学生SEL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论