第3章自由表资料课件

上传人:沈*** 文档编号:241643553 上传时间:2024-07-12 格式:PPT 页数:76 大小:981.50KB
返回 下载 相关 举报
第3章自由表资料课件_第1页
第1页 / 共76页
第3章自由表资料课件_第2页
第2页 / 共76页
第3章自由表资料课件_第3页
第3页 / 共76页
点击查看更多>>
资源描述
2024/7/121 Visual FoxPro 自由表自由表目 录上一页下一页退 出2024/7/122 本本 章章 要要 点点建立表结构建立表结构输入表记录输入表记录表的打开与关闭表的打开与关闭表字段的基本操作表字段的基本操作表结构的修改表结构的修改表记录的基本操作表记录的基本操作表的复制表的复制表的排序与索引表的排序与索引查询查询数据统计与计算数据统计与计算思考题目 录上一页下一页退 出2024/7/1233.1 建立表结构1命令方式命令方式【格式格式】CREATE|?【功能功能】建立一个新的、扩展名为建立一个新的、扩展名为.DBF的表文件。的表文件。【说说明明】指指定定生生成成的的表表文文件件名名,若若缺缺省省扩扩展展名名,则默认为则默认为.DBF。如如果果使使用用“?”或或末末指指定定表表文文件件名名,Visual FoxPro系系统会弹出创建对话框,以便用户输入表名。统会弹出创建对话框,以便用户输入表名。目 录上一页下一页退 出2024/7/1242菜单方式菜单方式 选择选择【文件文件】|【新建新建】打开新建对话框,选择打开新建对话框,选择“表表”,单击,单击“新建文件新建文件”出现创建对话框,确定需要建立表出现创建对话框,确定需要建立表的路径和表名,按的路径和表名,按“保存保存”按钮后,出现按钮后,出现“表设计器表设计器”对话框。以下步骤同命令方式。对话框。以下步骤同命令方式。确定表中每个字段的字段名、字段类型、字段宽度和小确定表中每个字段的字段名、字段类型、字段宽度和小数位数等。数位数等。目 录上一页下一页退 出2024/7/125字字段段名名:是某字段的名字。在表中必须为唯一的,字段名必须以汉字、字母和下划线开头,由汉字、字母、数字和下划线组成,对于数据库表支持长字段名,字段名最多为128个字符,自由表不支持长字段名,字段名最多为10个字符。当数据库表转化为自由表时截去超长部分的字符。字段名不能使用系统的保留字。字段类型字段类型:表示该字段中存放数据的类型。一个字段即二维表中的一列,其中的数据应具有共同的属性。字段宽度字段宽度:表示该字段所允许存放数据的最大宽度。小小数数位位数数:只对数值型字段和浮点型字符等数值类型有效,允许最大宽度20。在计算数值型字段和浮点型字段的宽度时,小数点本身也算作一个字符。数值型字段的小数位数由数据的精度决定位数。目 录上一页下一页退 出2024/7/1261命令方式命令方式【格式格式】APPEND BLANK【功能功能】在当前已打开表的末尾追加一条或多条记录。在当前已打开表的末尾追加一条或多条记录。【说明说明】BLANK:表示在表末尾追加一条空记录,并自动:表示在表末尾追加一条空记录,并自动返回命令窗口,此时系统并不弹出编辑窗口。返回命令窗口,此时系统并不弹出编辑窗口。例如:在命令窗口输入命令例如:在命令窗口输入命令 USE STUD&打开表打开表 APPE&或或EDIT 注意:注意:输入逻辑值时只输入输入逻辑值时只输入T或或F,定界符系统自动生成,定界符系统自动生成输入日期值时只输入输入日期值时只输入数码数码,分隔符系统自动,分隔符系统自动生成生成输入备注值时,光标位于输入备注值时,光标位于MEMO上时,按上时,按CTRL+PgDn进入编辑窗口,完成后按进入编辑窗口,完成后按CTRL+W返回返回下一个字段继续输入。下一个字段继续输入。3.2 输入表记录输入表记录目 录上一页下一页退 出2024/7/1272菜单方式菜单方式(1)首先打开表)首先打开表STUD.DBF。(2)选择)选择【显示显示】|【浏览浏览】命令。命令。(3)选择选择【表表】|【追加新记录追加新记录】命令,用户可以输入追命令,用户可以输入追加记录的各个字段。加记录的各个字段。目 录上一页下一页退 出2024/7/1281表的打开表的打开 表表文文件件建建好好后后,以以文文件件的的形形式式保保存存在在磁磁盘盘上上,在在进进行行各各种种操操作作之之前前,首首先先必必须须打打开开表表。打打开开表表的的过过程程实实质质上上就就是是将将表表从从磁磁盘盘调调入入内内存存,这这样样就就可可以以对对表表中中的的数数据据进进行行各各种种操作。系统在任何时刻都只能对内存中的表进行访问。操作。系统在任何时刻都只能对内存中的表进行访问。(1)命令方式)命令方式【格式格式】USE【功能功能】打开指定磁盘的指定路径下的表和相关的索引文件。打开指定磁盘的指定路径下的表和相关的索引文件。【说说明明】和和:指指定定表表文文件件所所在在的的驱驱动动器器及及路路径径,若若省省略略盘盘符符和和路路径径参参数数,则则打打开开当当前前盘盘、当当前前路路径径下下的的表表文件。文件。3.3 表的打开与关闭表的打开与关闭目 录上一页下一页退 出2024/7/129如如果果表表文文件件中中含含有有通通用用型型、备备注注型型字字段段,同同名名的的.FPT文件也同时打开。文件也同时打开。若若不不指指定定表表文文件件名名而而使使用用“?”,系系统统会会弹弹出出“使使用用”对话框,以便用户指定打开表的文件名。对话框,以便用户指定打开表的文件名。【例例3-1】打开在打开在E盘盘VFP子目录中子目录中STUD.DBF表。表。USE E:VFPSTUD(2)用项目管理器打开表)用项目管理器打开表在在项项目目管管理理器器中中选选中中需需要要打打开开的的表表,选选择择“浏浏览览”或或“修修改改”都都能能直直接接打打开开表表且且进进行行浏浏览览或或修修改改,关闭浏览或修改窗口后,该表仍处于打开状态。关闭浏览或修改窗口后,该表仍处于打开状态。目 录上一页下一页退 出2024/7/12102表的关闭表的关闭(1)打开另一个表文件)打开另一个表文件 如如果果工工作作区区中中已已打打开开有有表表文文件件,打打开开另另一一表表文文件件时,系统将自动将先前打开的表文件关闭。时,系统将自动将先前打开的表文件关闭。(2)使用不带任何选项的)使用不带任何选项的USE命令命令【格式格式】USE【功能功能】关闭当前已打开的表文件。关闭当前已打开的表文件。(3)使用)使用CLEAR命令命令【格式格式】CLEAR ALL 目 录上一页下一页退 出2024/7/1211【功功能能】关关闭闭所所有有工工作作区区中中已已打打开开的的表表文文件件、索索引引文文件件、格格式式文文件件及及备备注注文文件件等等,同同时时释释放放所所有有的的内内存存变变量量。并并选选择择工工作区作区1为当前工作区。为当前工作区。(4)使用)使用CLOSE命令命令【格式格式1】CLOSE ALL【功能功能】关闭各种类型文件,并选择工作区关闭各种类型文件,并选择工作区1为当前工作区。为当前工作区。【格式格式2】CLOSE DATABASES【功功能能】关关闭闭所所有有已已打打开开的的数数据据库库文文件件、表表文文件件、索索引引文文件件、格式文件及备注文件等,并选择工作区格式文件及备注文件等,并选择工作区1为当前工作区。为当前工作区。(5)退出)退出Visual FoxPro系统系统QUIT【功功能能】退退出出Visual FoxPro系系统统,并并关关闭闭所所有有打打开开的的文文件件,返回操作系统。返回操作系统。目 录上一页下一页退 出2024/7/1212(6)在数据工作窗口中关闭)在数据工作窗口中关闭 在在数数据据工工作作窗窗口口中中选选择择要要关关闭闭的的表表文文件件,然然后后选择选择“关闭关闭”按钮,系统将关闭所选择的表文件。按钮,系统将关闭所选择的表文件。目 录上一页下一页退 出2024/7/12131.1.表结构的显示表结构的显示【格格式式】LIST LIST|DISPLAY DISPLAY STRUCTURETO STRUCTURETO PRINT PRINT PROMPT PROMPT|TO FILE TO FILE【功能功能】显示或打印当前表文件的结构。显示或打印当前表文件的结构。在在执执行行以以上上命命令令时时,如如果果系系统统中中没没有有已已打打开开的的表表文文件件,系系统统提提示示输输入入文文件件名名。用用LIST命命令令,所所有有信信息息连连续续显显示示,信信息息较较多多时时,屏屏幕幕停停止止在在最最后后一一屏屏;用用DISPLAY命命令令,如如果果信信息较多则分屏显示,敲任意键继续显示下一屏。息较多则分屏显示,敲任意键继续显示下一屏。【例例3-2】显示表显示表STUD.DBF的结构。的结构。USE STUDLIST STRUCTURE 需需要要指指出出的的是是,最最后后一一行行显显示示出出的的记记录录字字节节数数是是所所有有字字段段宽宽度度之之和和再再加加1。这这额额外外的的一一个个字字节节是是用用来来存存放放记记录录的删除标记(的删除标记(*)的。)的。3.4 表字段的基本操作 目 录上一页下一页退 出2024/7/1214 表表结结构构的的改改变变有有时时会会引引起起表表记记录录的的变变化化,所所以以在在一一般般情情况况下下不不轻轻易易进进行行修修改改。但但在在确确实实需需要要时时也也可可以以进进行行修修改改。无无论进行何种修改,使用的命令都是一个。论进行何种修改,使用的命令都是一个。1命令方式命令方式【格式格式】MODIFY STRUCTURE【功能功能】将当前已打开的表文件的表设计器打开进行修改。将当前已打开的表文件的表设计器打开进行修改。【说说明明】要要修修改改表表结结构构必必须须要要先先打打开开需需要要修修改改结结构构的的表表文文件件。如如果果当当前前工工作作区区中中没没有有已已打打开开的的数数据据库库,执执行行此此命命令令时时系系统统会会弹弹出出“打打开开”对对话话框框,以以便便用用户户选选择择需需要要修修改改表表结结构构的的文文件件名名及及路路径径等等信信息息,用用户户选选择择完完成成后后,系系统统将将弹弹出出表表设计器对话框。设计器对话框。3.5 表结构的修改表结构的修改目 录上一页下一页退 出2024/7/1215一、一、表记录的显示表记录的显示1命令方式命令方式【格式格式】LIST|DISPLAY FIELDS FOR TO PRINTER|TO FILE OFF NOCONSOLE【功能功能】将当前表文件的记录按照指定的选项进将当前表文件的记录按照指定的选项进行显示。行显示。3.6 表记录的基本操作 目 录上一页下一页退 出2024/7/1216【说说明明】DISPLAY命命令令与与LIST命命令令的的功功能能相相似似,当当表表文文件件的的数据记录较多时,用数据记录较多时,用DISPLAY命令较为方便。命令较为方便。还还有有一一点点不不同同之之处处就就是是,如如果果同同时时缺缺省省和和 子子句句,DISPLAY命命令令只只显显示示当当前前的的一一条条记记录录,而而LIST命命令则是取默认值令则是取默认值ALL而显示全部记录。而显示全部记录。FIELDS:用来指定显示的字段。:用来指定显示的字段。:用来指定显示哪些记录。:用来指定显示哪些记录。“范围范围”有以下四种表示方法:有以下四种表示方法:ALL:所有记录。:所有记录。NEXT N:从从当当前前记记录录开开始始,后后面面的的N条条记记录录(包包括括当当前前记录)记录)RECORD N:第:第N条记录。条记录。REST:当前记录后的全部记录(包括当前记录)。:当前记录后的全部记录(包括当前记录)。目 录上一页下一页退 出2024/7/1217FOR:指指定定对对表表文文件件中中指指定定范范围围内内满满足足条条件件的的记录进行操作。记录进行操作。WHILE:也也是是指指定定对对表表文文件件中中指指定定范范围围内内满满足足条条件件的的记记录录进进行行操操作作,但但是是,当当第第一一次次遇遇到到不不满满足足条条件件的的记录时,停止继续往后搜索。记录时,停止继续往后搜索。WHILE若若与与FOR同同时时使使用用,则则WHILE项项优优先先;若若两两者者都都不不选选用用,则则显显示示中中指指定定的全部记录。的全部记录。OFF:表示不显示记录号;若不选此项,则在各记录前:表示不显示记录号;若不选此项,则在各记录前显示记录号。显示记录号。【例例3-3】显示表显示表STUD.DBF的全部记录。的全部记录。USE STUD LIST 目 录上一页下一页退 出2024/7/1218【例例3-4】显示男生的记录。显示男生的记录。USE STUD DISPLAY FOR 性性别别=男男 FIELDS 学学号号,姓姓名名,性性别别,班级名班级名,系别代号系别代号【例例3-5】显示表中所有记录的学号、姓名和性别。显示表中所有记录的学号、姓名和性别。USE STUD LIST FIELDS 学号学号,姓名姓名,性性别别【例例3-6】显显示示表表中中1985年年出出生生的的同同学学的的学学号号、姓姓名名、性性别别及出生日期。及出生日期。USE STUD LIST FIELDS 学号学号,姓名姓名,性性别别,出生日期出生日期 FOR YEAR(出生日期出生日期)=1985 目 录上一页下一页退 出2024/7/12192菜单方式菜单方式(1)打开表。)打开表。(2)选选择择【显显示示】|【浏浏览览】命命令令,系系统统弹弹出出记记录录浏浏览览窗窗口口,显显示示当当前前表表中中的的记记录录。这这时时还还可可以以选选择择【显示显示】|【浏览浏览】或或【编辑编辑】来改变显示方式。来改变显示方式。3利用项目管理器利用项目管理器 在在项项目目管管理理器器中中,选选择择需需要要显显示示的的表表文文件件,单单击击“浏浏览览”按按钮钮或或选选择择主主菜菜单单中中【项项目目】|【浏浏览览】命命令令,系系统统弹弹出出记记录录浏浏览览窗窗口口,显显示示当当前前表表中中的记录。的记录。目 录上一页下一页退 出2024/7/1220二、记录指针的定位二、记录指针的定位 记录号用于标识数据记录在表文件中的物理顺序。记录号用于标识数据记录在表文件中的物理顺序。记录指针是一个指示器,它始终指向当前表中正在操作记录指针是一个指示器,它始终指向当前表中正在操作处理的那条记录,此记录被称为当前记录。如果要对某条记处理的那条记录,此记录被称为当前记录。如果要对某条记录进行处理,必须移动记录指针,使其指向该记录。在任意录进行处理,必须移动记录指针,使其指向该记录。在任意时刻指针只能指向唯一的一条记录。时刻指针只能指向唯一的一条记录。目 录上一页下一页退 出2024/7/1221 记记录录指指针针定定位位有有绝绝对对定定位位、相相对对定定位位和和查查询询定定位位三三种种。在在这里暂时只讲前二种,查询定位在讲到查询时再详细介绍。这里暂时只讲前二种,查询定位在讲到查询时再详细介绍。1绝对定位绝对定位【格式格式】GO|GOTO RECORD 【功功能能】将将记记录录指指针针绝绝对对定定位位到到指指定定的的记记录录上。上。:记录的物理记录号。:记录的物理记录号。IN|IN:指指定定操操作作表表所所在在的的工工作作区区;若若缺缺省省,则则对对当当前前工工作作区区表表操操作作。工工作作区区的的概概念念在在后面再详细介绍。后面再详细介绍。绝对定位与是否打开索引文件没有关系。绝对定位与是否打开索引文件没有关系。目 录上一页下一页退 出2024/7/12222相对定位相对定位【格式格式1】SKIP 【功功能能】记记录录指指针针从从当当前前记记录录向向前前(或或向向后后)移移动动若若干干个个记记录。录。【说说明明】:表表示示移移动动的的记记录录个个数数。若若数数值值表表达达式式的的值值为为负负值值,表表示示向向前前移移动动记记录录;否否则则,表表示示向向后后移移动记录。如果缺省此项,则表示向后移动动记录。如果缺省此项,则表示向后移动1个记录。个记录。如如果果记记录录指指针针已已经经移移过过文文件件的的最最后后一一个个记记录录,则则RECNO()函函数数返返回回的的值值等等于于文文件件中中的的记记录录总总数数加加 1,EOF()函函数数返回逻辑真(返回逻辑真(.T.)值。)值。【格式格式2】GO|GOTO【功能功能】将记录指针移动到表文件的首记录或尾记录将记录指针移动到表文件的首记录或尾记录TOP:将记录指针移动到表文件的首记录。:将记录指针移动到表文件的首记录。BOTTOM:将记录指针动到表文件的最后一条记录。:将记录指针动到表文件的最后一条记录。目 录上一页下一页退 出2024/7/1223 相对定位与是否打开索引文件有关。如果打开有索引,记相对定位与是否打开索引文件有关。如果打开有索引,记录指针按索引文件中顺序移动。否则按表文件中物理顺序录指针按索引文件中顺序移动。否则按表文件中物理顺序移动。移动。【例例3-7】绝对定位命令的用法。绝对定位命令的用法。USE STUD GOTO 2 GO 3【例例3-8】相对定位的用法。相对定位的用法。USE STUD SKIP 4&系统主窗口显示为系统主窗口显示为5 SKIP 3&系统主窗口显示为系统主窗口显示为2 SKIP 8&超出了记录总数超出了记录总数6 go top&系统主窗口显示为系统主窗口显示为1目 录上一页下一页退 出2024/7/1224三、记录的追加三、记录的追加1从另一个表文件中追加记录从另一个表文件中追加记录【格格式式】APPEND FROM FIELDS FOR【功功能能】从从指指定定的的表表文文件件中中读读入入数数据据,并并添添加加到到当当前表文件的末尾。前表文件的末尾。【说说明明】数数据据的的追追加加是是从从命命令令中中指指定定的的表表文文件件追追加加到到当当前前表表文文件件中中,所所以以,应应先先将将需需要要追追加加记记录录的的表表文文件件打打开开,设设置置为为当当前前表表,然然后后再再使使用用该该命命令令进行追加。进行追加。目 录上一页下一页退 出2024/7/12252插入记录插入记录【格式格式】INSERT BEFORE BLANK【功功能能】在在当当前前表表文文件件的的指指定定位位置置插插入入新新记记录录或或空空记录。记录。【说说明明】INSERT是是在在当当前前记记录录之之后后插插入入新新记记录录,INSERT BEFORE是是在在当当前前记记录录之之前前插插入入新新记记录录,INSERT BLANK是在当前记录之后插入空记录。是在当前记录之后插入空记录。若若表表文文件件建建立立了了索索引引,则则插插入入的的新新记记录录按按索索引引值值进进行排列。行排列。目 录上一页下一页退 出2024/7/1226【例例3-9】在在表表STUD.DBF的的第第2号号记记录录前前插插入入一一条条新记录,在第新记录,在第4号记录后插入一条新记录。号记录后插入一条新记录。USE STUD GOTO 2 INSERT BEFORE&在在2号记录前插入一条新记录号记录前插入一条新记录 GOTO 5&因已插入了一条新记录,原因已插入了一条新记录,原4号现为号现为5号号 INSERT&在在4号记录后插入一条新记录号记录后插入一条新记录目 录上一页下一页退 出2024/7/1227四、四、删除记录删除记录 表表记记录录的的删删除除也也是是表表维维护护的的一一项项经经常常性性的的工工作作,因因为为删删除除意意味味着着数数据据的的消消失失,所所以以对对记记录录的的删删除除操操作作比比较较慎慎重重,删删除除可可分分为为逻逻辑辑删删除除和和物物理理删删除除两两种种操操作作。逻逻辑辑删删除除还还可可以恢复,而物理删除则不可恢复。以恢复,而物理删除则不可恢复。1 1逻辑删除记录逻辑删除记录逻辑删除就是给指定的记录作删除标记逻辑删除就是给指定的记录作删除标记“*”。(1 1)命令方式)命令方式【格式格式】DELETE DELETE FOR FOR 【功能功能】对当前表中指定范围内满足条件的记录作删除标记对当前表中指定范围内满足条件的记录作删除标记“*”。【说说明明】DELETEDELETE命命令令仅仅仅仅是是在在要要删删除除的的记记录录前前加加上上一一个个删删除除标标记记“*”,并并不不是是真真正正地地从从表表文文件件中中将将该该记记录录删删除除掉掉。可可以用以用LISTLIST或或DISPDISP命令显示带删除标记的记录。命令显示带删除标记的记录。目 录上一页下一页退 出2024/7/1228,FOR、WHILE等等各各项项选选项项意意义义同同前前;如如果果同同时时缺缺省省和和 子子句句,则则仅仅仅仅删删除除当当前前的的记录。记录。【例例3-10】删除删除STUD.DBF中所有男同学的记录。中所有男同学的记录。USE STUDDELETE FOR 性别性别=男男LIST FIELDS 学学号号,姓姓名名,性性别别,班班级级名名,系系别别代代号号,地地址,出生日期,是否团员址,出生日期,是否团员(2)菜单方式)菜单方式利用菜单方式逻辑删除记录的具体操作步骤如下:利用菜单方式逻辑删除记录的具体操作步骤如下:首先打开表文件首先打开表文件选选择择【显显示示】|【浏浏览览】命命令令,系系统统弹弹出出记记录录浏浏览览窗窗口口,显示当前表中的记录。主菜单上增加显示当前表中的记录。主菜单上增加【表表】菜单项。菜单项。目 录上一页下一页退 出2024/7/1229 选选择择【表表】|【删删除除记记录录】命命令令,出出现现图图3-11所所示示的的“删删除除”对话框。对话框。单单击击删删除除对对话话框框中中的的For按按钮钮或或While按按钮钮,系系统统弹弹出出表表达达式式生生成成器器,用用户户可可以以在在表表达达式式框框中中输输入入一一个个逻逻辑辑表表达达式式,如如性性别别=”男男”,单单击击【确确定定】按按钮钮完完成成条条件件表表达达式式的输入。的输入。在在“作用范围作用范围”下拉列表框中选择范围,如下拉列表框中选择范围,如ALL。单击单击“删除删除”对话框中的对话框中的“删除删除”按钮,系统将完成对按钮,系统将完成对指定范例内满足指定条件的记录的逻辑删除。指定范例内满足指定条件的记录的逻辑删除。2隐藏逻辑删除记录隐藏逻辑删除记录【格式格式】SET DELETED ON|OFF 【功能功能】将表文件中已逻辑删除的记录隐藏,仿佛真正删将表文件中已逻辑删除的记录隐藏,仿佛真正删除一样。除一样。目 录上一页下一页退 出2024/7/1230【说说明明】表表文文件件中中被被逻逻辑辑删删除除的的记记录录只只是是在在该该记记录录上上加加一一个个删删除除标标记记,当当SET DELETED设设置置为为OFF时时,对对该该表表文文件件的的 各各 种种 操操 作作,对对 被被 删删 除除 的的 记记 录录 同同 样样 有有 效效。当当 SET DELETED ON时时,可可使使对对表表文文件件中中数数据据的的各各种种操操作作,一一般般均均不不包包括括有有删删除除标标记记的的记记录录,但但下下列列情情况况例例外外:命命令令的的记记 录录 范范 围围 是是 当当 前前 记记 录录 或或 RECORD(n)时时;INDEX或或REINDEX命命令令不不受受SET DELETED的的影影响响,始始终终处处理理带带删除标记的记录。删除标记的记录。SET DELETED的缺省状态是的缺省状态是OFF。【例例3-11】隐藏上题中隐藏上题中STUD.DBF的标记删除记录。的标记删除记录。USE STUD SET DELETED ON3恢复逻辑删除记录恢复逻辑删除记录 恢恢复复逻逻辑辑删删除除是是将将被被逻逻辑辑删删除除的的记记录录恢恢复复为为正正常常记记录录。即去掉即去掉“*”号。号。目 录上一页下一页退 出2024/7/1231(1)命令方式)命令方式【格格式式】RECALL FOR WHILE NOOPTIMIZE【功功能能】将将当当前前表表文文件件中中指指定定范范围围内内满满足足条条件件的的已已作作删删除除标标记记“*”的的记记录录恢恢复复,即即去去掉掉这这些些删删除除记记录录的的删删除除标标记记,使使之成为正常记录。之成为正常记录。【说说明明】RECALL命命令令与与DELETE命命令令相相对对应应,它它可可以以去去掉掉被逻辑删除记录的删除标记被逻辑删除记录的删除标记“*”。,FOR、WHILE等等各各项项选选项项意意义义同同前前;如果同时缺省如果同时缺省和和 子句,则仅仅恢复当前记录。子句,则仅仅恢复当前记录。【例例3-12】恢复恢复STUD.DBF中删除的所有记录。中删除的所有记录。USE STUD RECALL ALL目 录上一页下一页退 出2024/7/1232(2)菜单方式)菜单方式首先打开表文件首先打开表文件选择选择【显示显示】|【浏览浏览】命令命令。选选择择【表表】|【恢恢复复记记录录】命命令令,出出现现类类似似图图3-11所所示示对对话框。余下操作与话框。余下操作与“删除删除”对话框的操作相同。对话框的操作相同。4物理删除记录物理删除记录物理删除是将当前表文件中被逻辑删除的记录全部清除。物理删除是将当前表文件中被逻辑删除的记录全部清除。(1)命令方式)命令方式【格式格式】PACK MEMODBF【功功能能】将将当当前前表表文文件件中中所所有有带带删删除除标标记记(*)的的记记录录全全部部真正地删除掉。真正地删除掉。【说说明明】若若选选用用MEMO选选项项,PACK MEMO将将压压缩缩与与表表文文件件同同名名的的备备注注文文件件中中的的无无用用空空间间,但但并并不不删删除除表表文文件件中中作作了了删除标记的记录删除标记的记录。目 录上一页下一页退 出2024/7/1233若若选选用用DBF选选项项,而而不不用用MEMO选选项项,则则只只删删除除表表文文件件中中作作了删除标记的记录,而不压缩相应的备注文件。了删除标记的记录,而不压缩相应的备注文件。若若不不带带任任何何选选项项,PACK命命令令将将删删除除数数据据库库文文件件中中作作了了删删除除标记的记录,同时压缩相应的备注文件。标记的记录,同时压缩相应的备注文件。注注意意:执执行行该该命命令令后后被被删删除除的的记记录录将将不不能能被被恢恢复复,因因此此使使用用时应特别小心。时应特别小心。【例例3-13】将将STUD.DBF中中的的学学号号为为“021405”的的记记录录进进行行物理删除。物理删除。USE STUD DELETE FOR 学号学号=”021405”PACK目 录上一页下一页退 出2024/7/1234(2)菜单方式)菜单方式利用菜单方式物理删除表记录的具体步骤如下:利用菜单方式物理删除表记录的具体步骤如下:首先打开表文件首先打开表文件选选择择【显显示示】|【浏浏览览】命命令令,系系统统弹弹出出记记录录浏浏览览窗窗口口,显示当前表中的记录。主菜单上增加显示当前表中的记录。主菜单上增加【表表】菜单。菜单。选择选择【表表】|【彻底删除彻底删除】命令,出现命令,出现“确认确认”对话框。对话框。单击单击“是是”按钮,完成物理删除过程。按钮,完成物理删除过程。注意:注意:用户也可以在用户也可以在EDIT、CHANGE、BROWSE窗口中,窗口中,按按Ctrl+T键对当前记录作(或取消)删除标记,也可以用键对当前记录作(或取消)删除标记,也可以用鼠标单击记录最左边的删除标记栏作(或取消)删除标记。鼠标单击记录最左边的删除标记栏作(或取消)删除标记。目 录上一页下一页退 出2024/7/12355删除全部记录删除全部记录【格式格式】ZAP【功能功能】将当前打开的表文件中的所有记录完全删除掉。将当前打开的表文件中的所有记录完全删除掉。【说明说明】执行该命令之后,将只保留表文件的结构,而执行该命令之后,将只保留表文件的结构,而不再有任何数据存在。这种删除无法恢复,因此,为防不再有任何数据存在。这种删除无法恢复,因此,为防止用户发生错误操作而删除有用的表文件记录,执行该止用户发生错误操作而删除有用的表文件记录,执行该命令时,系统会弹出命令时,系统会弹出ZAP提示窗口,以确认是否删除全提示窗口,以确认是否删除全部记录,单击部记录,单击“是是”按钮清除所有记录,单击按钮清除所有记录,单击“否否”按按钮放弃钮放弃ZAP操作。操作。目 录上一页下一页退 出2024/7/1236五、五、修改记录修改记录 在在表表的的使使用用维维护护过过程程中中,有有大大量量的的工工作作是是对对数数据据记记录录的的修修改改、编编辑辑与与更更新新,通通常常可可以以采采用用编编辑辑修修改改、浏浏览览修修改改和和替替换修改三种方式。换修改三种方式。1编辑修改编辑修改【格式格式】EDIT/CHANGE FIELDS FOR【功能功能】按照给定条件编辑修改当前打开的表文件的记录。按照给定条件编辑修改当前打开的表文件的记录。【说说明明】FIELDS:若若选选择择此此选选项项,则则只只列列出出字字段段名名表表中中的的字字段段,且且显显示示顺顺序序同同字字段段名名表表中中的的顺顺序序;若若未未选选择择此此选选项项,将将显显示示表表中中的的所所有有字字段段,显显示示顺顺序序同同表表中中的字段顺序。的字段顺序。目 录上一页下一页退 出2024/7/1237:若若未未选选择择此此选选项项,则则EDIT/CHANGE命命令令的的范范围围为为全部记录。全部记录。FOR 和和WHILE:同同前前面面其其他命令所述,在此不再重复叙述。他命令所述,在此不再重复叙述。【例例3-14】修修改改STUD.DBF中中计计0121班班学学生生的的学学号号、姓姓名名和和性别等信息。性别等信息。USE STUD EDIT FIELDS 学号学号,姓名姓名,性别性别 FOR 班级名班级名=”计计0121”全部修改完毕,使用全部修改完毕,使用 Ctrl+End 或或 Ctrl+W 键保存所有修改的键保存所有修改的结果。结果。目 录上一页下一页退 出2024/7/12382浏览修改浏览修改(1)命令方式)命令方式【格格式式】BROWSE FIELDS FOR 【功能功能】显示当前表的记录内容,以供编辑修改。显示当前表的记录内容,以供编辑修改。【说说明明】编编辑辑结结束束后后,按按Ctrl+W或或Ctrl+End存存盘盘退退出出BROWSE编编辑辑窗窗口口,或或者者按按Ctrl+Q或或Esc键键放放弃弃存存盘盘退退出出BROWSE窗口。窗口。(2)菜单方式)菜单方式利用菜单方式进行浏览修改的操作步骤如下:利用菜单方式进行浏览修改的操作步骤如下:打开表。打开表。选择选择【显示显示】|【浏览浏览】命令,系统弹出记录浏览窗口。命令,系统弹出记录浏览窗口。在在编编辑辑修修改改窗窗口口中中编编辑辑修修改改数数据据内内容容,完完成成后后按按Ctrl+W键存盘退出键存盘退出Browse窗口。窗口。目 录上一页下一页退 出2024/7/12393替换修改替换修改(1)命令方式)命令方式【格式格式】REPLACE WITH ADDITIVE,WITH ADDITIVE.FOR 【功功能能】用用指指定定表表达达式式的的值值替替换换当当前前表表中中满满足足条条件件记记录录的的指指定定字字段段的值。的值。【说明说明】:该命令适合对当前表进行成批地、有规律地修改。:该命令适合对当前表进行成批地、有规律地修改。缺省范围、条件时,仅替换当前记录。该命令回车后,缺省范围、条件时,仅替换当前记录。该命令回车后,数据修改自动完成。适用于程序设计。数据修改自动完成。适用于程序设计。ADDITIVE 只对备注型字段修改有效。(选择:表示添加内只对备注型字段修改有效。(选择:表示添加内容;不选择:表示替换内容)容;不选择:表示替换内容)表达式的类型必须与字段类型一致。表达式的类型必须与字段类型一致。表达式的值不能超出字段宽度,否则,数据无效。表达式的值不能超出字段宽度,否则,数据无效。目 录上一页下一页退 出2024/7/1240【例例3-15】修改修改STUD.DBF中的中的“学号学号”字段数据,。字段数据,。USE STUD REPLACE 学号学号 WITH”20”+学号学号 ALL(2)菜单方式)菜单方式 打开表文件。选择打开表文件。选择【显示显示】|【浏览浏览】命令命令。选选择择【表表】|【替替换换字字段段】命命令令,弹弹出出图图3-16所所示示的的“替换字段替换字段”对话框。对话框。单单击击字字段段下下拉拉按按钮钮选选择择要要进进行行替替换换操操作作的的字字段段名名,在在“替替换换为为”显显示示栏栏中中输输入入替替换换表表达达式式,再再选选择择“替替换换条条件件”显示框中的范围、条件。显示框中的范围、条件。单击单击“替换替换”按钮,系统将自动完成替换操作。按钮,系统将自动完成替换操作。目 录上一页下一页退 出2024/7/12411表结构的复制表结构的复制【格式格式】COPY STRUCTURE TO FIELDS【功能功能】复制当前表文件的结构作为新表文件的结构。复制当前表文件的结构作为新表文件的结构。【说明说明】命令执行前,需复制的表文件必须是打开的。命令执行前,需复制的表文件必须是打开的。执行后,生成的新表文件只有结构。执行后,生成的新表文件只有结构。3.7 表的复制表的复制目 录上一页下一页退 出2024/7/1242【例例3-16】用用复复制制命命令令将将STUD.DBF中中的的学学号号、姓姓名名、性性别别、出出生生日日期期等等四四个个字字段段,构构成成一一个个新新表表结构。结构。USE STUD COPY STRUCTURE TO STUD1 FIELDS 学学号号,姓名姓名,性别性别,出生日期出生日期目 录上一页下一页退 出2024/7/12432表文件的复制表文件的复制【格式格式】COPY TO FIELDS FOR WHILE 【功能功能】将当前打开的表文件全部或部分复制到一个新生成将当前打开的表文件全部或部分复制到一个新生成的表文件中。的表文件中。【说明说明】新生成表文件中的字段顺序由新生成表文件中的字段顺序由FIELDS选择项选择项确定,缺省表示新表的结构与原表的结构完全相同,新确定,缺省表示新表的结构与原表的结构完全相同,新表文件中的记录由表文件中的记录由选择项以及选择项以及选择项确定。同选择项确定。同时缺省时缺省、表示将原表的全部记录都复制到新表表示将原表的全部记录都复制到新表中。中。目 录上一页下一页退 出2024/7/1244【例例3-17】复制复制STUD.DBF中所有女同学的记录到中所有女同学的记录到STUD2.DBF中。中。USE STUD COPY TO STUD2 FOR 性性别别=“女女”【例例3-18】复制复制STUD.DBF中的记录中的记录内容复制内容复制到到SSTUD。USE STUD COPY TO SSTUD目 录上一页下一页退 出2024/7/1245一一.表的排序表的排序【格格式式】SORT ON /A|/D|/C,/A|/D|/C.ASCENDING|DESCENDING FOR FIELDS TO 【功功能能】对对当当前前打打开开的的表表,按按指指定定的的字字段段进进行行排序,生成新的表文件。排序,生成新的表文件。【例例3-19】将将STUD.DBF按性别进行降序排列按性别进行降序排列 USE STUD SORT TO STUD2 ON 性性别别/D 3.8 表的排序与索引目 录上一页下一页退 出2024/7/1246二二.表的索引表的索引1索引及索引文件的概述索引及索引文件的概述 Visual FoxPro系系统统中中支支持持两两种种不不同同的的索索引引文文件件类型,即单索引文件和复合索引文件。类型,即单索引文件和复合索引文件。单单索索引引文文件件是是根根据据一一个个索索引引关关键键字字表表达达式式(或或关关键键字字)建建立立的的索索引引文文件件,文文件件扩扩展展名名为为.IDX,它它可可用用INDEX命命令令的的各各种种形形式式建建立立。单单索索引引文文件件分分为为标准和压缩两种类型。标准和压缩两种类型。复复合合索索引引文文件件,文文件件扩扩展展名名为为.CDX,分分为为两两种种:一一种种是是独独立立复复合合索索引引文文件件;另另一一种种是是结结构构复复合合索索引引文件。文件。目 录上一页下一页退 出2024/7/1247索引可分为下列四种类型:索引可分为下列四种类型:(1)主索引)主索引 主主索索引引是是一一个个永永远远不不允允许许在在指指定定字字段段和和表表达达式式中中出出现现重重复复值值的的索索引引。它它也也是是在在数数据据库库表表的的永永久久关关联联中中创创建建参参照照完完整整性性时时主主表表和和被被引引用用表表使使用用的的索索引引。每每一一个个表表只只能能建建立立一一个个主索引,只有数据库表才能建立主索引。主索引,只有数据库表才能建立主索引。(2)侯选索引)侯选索引 侯侯选选索索引引也也是是一一个个不不允允许许在在指指定定字字段段和和表表达达式式中中出出现现重重复复值值的的索索引引。数数据据库库表表和和自自由由表表都都可可以以建建立立侯侯选选索索引引,一个表可以建立多个侯选索引。一个表可以建立多个侯选索引。主主索索引引和和侯侯选选索索引引都都存存储储在在.CDX结结构构复复合合索索引引文文件件中中,不不能能存存储储在在独独立立复复合合索索引引文文件件和和单单索索引引文文件件中中,因因为为主主索索引和侯选索引都必须与表文件同时打开和同时关闭。引和侯选索引都必须与表文件同时打开和同时关闭。目 录上一页下一页退 出2024/7/1248(3)唯一索引)唯一索引 系系统统只只在在索索引引文文件件中中保保留留第第一一次次出出现现的的索索引引关关键字值。数据库表和自由表都可以建立唯一索引键字值。数据库表和自由表都可以建立唯一索引(4)普通索引)普通索引 是是一一个个最最简简单单的的索索引引,允允许许关关键键字字值值的的重重复复出出现现,适适合合用用来来进进行行表表中中记记录录的的排排序序和和查查询询,也也适适合合于于一一对对多多永永久久关关联联中中“多多”的的一一边边(子子表表)的的索引。数据库表和自由表都可以建立普通索引。索引。数据库表和自由表都可以建立普通索引。普普通通索索引引和和唯唯一一索索引引可可以以存存储储在在.CDX独独立立复复合合索引文件和索引文件和.IDX单索引文件中。单索引文件中。目 录上一页下一页退 出2024/7/1249 2索引文件的建立索引文件的建立(1)命令方式)命令方式【格格式式】INDEX ON TO TAG OF FOR COMPACT ASCENDING|DESCENDING UNIQUE ADDITIVE【功能功能】对当前表文件按指定的关键字建立索引文件。对当前表文件按指定的关键字建立索引文件。【说说明明】:指指定定建建立立索索引引文文件件的的关关键键字字表表达达式式,可可以以是是单单一一字字段段名名,也也可可以以是是多多个个字字段段组组成成的的字字符符型型表表达达式式,表表达达式式中中各各字字段段的的类类型型只只能能是是数数值值型型、字字符符型和日期型和逻辑型。型和日期型和逻辑型。目 录上一页下一页退 出2024/7/1250 当当表表达达式式是是单单个个字字段段名名时时,字字段段类类型型不不用用转转换换;当当表表达达式式是是多多个个字段名时,应转换成同一类型的表达式。字段名时,应转换成同一类型的表达式。TAG:此此选选项项只只对对建建立立复复合合索索引引文文件件时时有有效效,指指定定建建立立或或追加索引标识的标识名。追加索引标识的标识名。OF:指指定定独独立立复复合合索索引引文文件件名名。若若有有此此选选项项,表表示示在在指指定定的的独独立立复复合合索索引引文文件件中中追追加加一一个个索索引引标标识识,若若指指定定的的独独立立复复合合索索引引文文件件不不存存在在,系系统统将将自自动动建建立立指指定定的的文文件件。若若没没有有此此选选项项,表表示示在在结结构构复复合合文文件件中中追追加加一一个个索索引引标标识识,若若结结构构复复合合索引文件不存在,系统将自动建立结构复合索引文件。索引文件不存在,系统将自动建立结构复合索引文件。FOR:表示只对满足条件的记录建立索引。:表示只对满足条件的记录建立索引。COMPACT:此选项只对单索引文件有效,表示建立压缩索引文件。:此选项只对单索引文件有效,表示建立压缩索引文件。ASCENDING|DESCENDING:ASCENDING表表示示按按升升序序建建立立索索引引,DESCENDING表表示示按按降降序序建建立立索索引引。缺缺省省时时,按按升升序序建建立立索索引引。单索引文件不能选用单索引文件不能选用DESCENDING选项。选项。目 录上一页下一页退 出2024/7/1251UNIQUE:表示建立的是唯一索引。:表示建立的是唯一索引。ADDITIVE:表表示示保保留留以以前前打打开开的的索索引引文文件件。否否则则,除除结结构构复合索引文件外,以前打开的其他索引文件都将被关闭。复合索引文件外,以前打开的其他索引文件都将被关闭。新建的索引文件自动打开,并开始起作用。新建的索引文件自动打开,并开始起作用。【例例3-20】对对STUD.DBF表表文文件件建建立立出出生生日日期期单单索索引引文文件件STUD.IDX。USE STUD INDEX ON 出生日期出生日期 TO STUD【例例3-21】对对表表文文件件STUD.DBF,建建立立一一个个基基于于出出生生日日期期字字段的结构复合索引文件。段的结构复合索引文件。USE STUD INDEX ON 出生日期出生日期 TAG 出生日期出生日期 DESCENDING目 录上一页下一页退 出2024/7/1252【例例3-22】在在表表文文件件STUD.DBF的的结结构构复复合合索索引引文文件件中中,按按学号和姓名各追加一个标识。学号和姓名各追加一个标识。USE STUD INDEX ON 学号学号 TAG 学号学号【例例3-23】在在表表文文件件STUD.DBF的的结结构构复复合合索索引引文文件件中中,先先按性别再按学号追加一个标识。按性别再按学号追加一个标识。USE STUD INDEX ON 性别性别+学号学号 TAG 性别学号性别学号【例例3-24】在在表表文文件件STUD.DBF中中,先先按按性性别别再再按按是是否否团团员员建立一个独立复合索引文件建立一个独立复合索引文件SXBTY.CDX。USE STUD INDEX ON 性性别别+IIF(是是否否团团员员,团团员员,非非团团员员)TAG 性别团员性别团员 OF SXBTY目 录上一页下一页退 出2024/7/12533索引文件的打开索引文件的打开【格格式式1】USE INDEX 【功能功能】打开指定的表文件及相关的索引文件打开指定的表文件及相关的索引文件【说说明明】:INDEX :表表示示打打开开的的索引文件;索引文件;目 录上一页下一页退 出2024/7/1254【格式格式2】SET INDEX TO 【功功能能】在在已已打打开开表表文文件件的的前前提提下下,打打开开相相关关索索引引文件。文件。【说明说明】ADDITIVE:表示保留以前打开的索引文:表示保留以前打开的索引文件。否则,除结构复合索引文件外,以前打开的件。否则,除结构复合索引文件外,以前打开的其他索引文件都将被关闭。其他索引文件都将被关闭。目 录上一页下一页退 出2024/7/12554索引文件的关闭索引文件的关闭【格式格式1】USE【功功能能】关关闭闭当当前前工工作作区区中中打打开开的的表表文文件件及及所所有有索索引文件。引文件。【格式格式2】SET INDEX TO【功功能能】关关闭闭当当前前工工作作区区中中打打开开的的所所有有单单索索引引文文件件和独立复合索引文件。和独立复合索引文件。【格式格式3】CLOSE INDEXS【功功能能】关关闭闭当当前前工工作作区区中中打打开开的的所所有有单单索索引引文文件件和独立复合索引文件。和独立复合索引文件。注注意意:结结构构复复合合索索引引文文件件不不能能用用以以上上命命令令关关闭闭,它它随表文件的打开而打开,随表文件的关闭而关闭。随表文件的打开而打开,随表文件的关闭而关闭。目 录上一页下一页退 出2024/7/12565改变主索引改变主索引【格式格式】SET ORDER TO|【功能功能】重新指定打开的索引文件中的主索引。重新指定打开的索引文件中的主索引。【说明说明】的值为指定主索引的编号。的值为指定主索引的编号。目 录上一页下一页退 出2024/7/1257 如如果果的的值值为为0或或缺缺省省,则则恢恢复复表表文文件件的原始顺序,使所有打开的索引文件都无效。的原始顺序,使所有打开的索引文件都无效。【例例3-25】打打开开STUD.DBF表表文文件件及及其其相相关关索索引引文文件件,并指定结构复合索引文件中的姓名为主控索引。并指定结构复合索引文件中的姓名为主控索引。USE STUD INDE STUD.IDX ORDER TAG 姓名姓名【例例3-26】打打开开STUD.DBF表表及及其其相相关关索索引引文文件件,改改变主索引文件。变主索引文件。USE STUD INDEX STUD.IDX SET ORDER TO 4 SET ORDER TO&使所有索引均无效使所有索引均无效 目 录上一页下一页退 出2024/7/1258(1)命令方式)命令方式【格式格式】REINDEX COMPACT【功能功能】重新建立已索引过的索引文件。重新建立已索引过的索引文件。【说说明明】COMPACT:表表示示将将标标准准的的单单索索引引文文件件变变为为压压缩缩的的单索引文件。单索引文件。【例例3-27】将表将表STUD.DBF的索引文件重新索引。的索引文件重新索引。USE STUD SET INDEX TO STUD.IDX REINDEX(2)菜单方式)菜单方式打开表文件。打开表文件。选择选择【显示显示】|【浏览浏览】命令命令。选择选择【表表】|【重新建立索引重新建立索引】命令,系统自动根据各命令,系统自动根据各索引表达式重新建立索引。索引表达式重新建立索引。目 录上一页下一页退 出2024/7/1259 在在数数据据资资源源的的管管理理过过程程中中,使使用用最最频频繁繁的的操操作作莫莫过过于于查查询询满满足足一一定定条条件件的的一一系系列列数数据据,从从而而为为日日常常决决策策提提供供足足够够的的判判断断依依据据。对对表表记记录录的的查查询询系系统统提提供供了了两两类类查查询询命命令令:顺顺序序查查询询和和索索引引查查询。询。在在前前面面介介绍绍定定位位时时,省省略略了了条条件件定定位位,查查询询操作实际上就是起到了条件定位的作用。操作实际上就是起到了条件定位的作用。3.9 查询查询目 录上一页下一页退 出2024/7/1260一、一、顺序查询顺序查询1命令方式命令方式【格格式式】LOCATE FORWHILE 【功能功能】在表指定范围中查找满足条件的记录。在表指定范围中查找满足条件的记录。【说说明明】LOCATE 命命令令在在表表指指定定范范围围中中查查找找满满足足条条件的第一条记录。件的第一条记录。:表示所需满足的条件。:表示所需满足的条件。:指定查找范围,缺省时为:指定查找范围,缺省时为ALL,即在,即在整个表文件中查找。整个表文件中查找。目 录上一页下一页退 出2024/7/1261【格式格式】CONTINUE CONTINUE命命令令:LOCATE找找到到第第一一条条满满足足条条件件的的记记录录可可以用以用CONTINUE继续查找下一个满足条件的记录。继续查找下一个满足条件的记录。CONTINUE命命令令必必须须在在LOCATE命命令令之之后后使使用用,否否则则出出错。错。在在CONTINUE命命令令中中实实际际隐隐含含了了前前一一个个LOCATE命命令令中中的条件。的条件。【例例3-28】在在STUD.DBF中查找学号前四位为中查找学号前四位为0111的同学记录。的同学记录。USE STUD LOCATE FOR 学号学号=0111目 录上一页下一页退 出2024/7/12622.索引查询(索引查询(FIND、SEEK)LOCATE命令用于按条件进行顺序定位,无命令用于按条件进行顺序定位,无论索引文件是否打开都可使用。在打开索引
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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