版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 Visual FoxProVisual FoxPro表文件操表文件操作作主要内容主要内容: :3.1 Visual FoxPro3.1 Visual FoxPro命令介绍命令介绍3.2 3.2 表文件的建立表文件的建立3.3 3.3 表文件的打开、关闭与复制表文件的打开、关闭与复制3.4 3.4 表文件的基本操作表文件的基本操作3.5 3.5 排序与索引排序与索引3.6 3.6 表文件的数据统计表文件的数据统计3.7 3.7 工作区和表文件的关联工作区和表文件的关联小结小结3.1.1Visual FoxPro命令命令一、命令组成一、命令组成 命令动词命令动词+若干可选子句若干可选子句
2、命令动词规定命令要完成的功能,子句也称短语,命令动词规定命令要完成的功能,子句也称短语,是对命令进行限制性的说明。是对命令进行限制性的说明。二、命令的基本语法格式二、命令的基本语法格式 三、命令格式中语法标识符及其意义三、命令格式中语法标识符及其意义 必选项,必须写具体内容。必选项,必须写具体内容。 可选项,可根据实际需要选写内容。可选项,可根据实际需要选写内容。 | | 或者,左右两边的内容选写一个。或者,左右两边的内容选写一个。 省略,像这样的内容可有多个。省略,像这样的内容可有多个。, , 间隔符,用于短语。间隔符,用于短语。四、命令中短语(子句)的格式和意义四、命令中短语(子句)的格式
3、和意义 范围:确定命令操作的记录范围,对应于关系运算中的范围:确定命令操作的记录范围,对应于关系运算中的选择运算。有以下四种形式。选择运算。有以下四种形式。allall所有记录所有记录nextnextn n从当前记录起的连续从当前记录起的连续n n条记录条记录recordrecordn n 第第n n个记录个记录restrest从当前记录起到最后一个记录止的所有记从当前记录起到最后一个记录止的所有记录录 条件:确定命令操作的记录符合的条件,对应于关系运算中条件:确定命令操作的记录符合的条件,对应于关系运算中的选择运算。有以下两种形式:的选择运算。有以下两种形式:forfor 选择表中能使选择表
4、中能使 为真的所有记录。为真的所有记录。whilewhile 从当前记录开始选择能使条件为真从当前记录开始选择能使条件为真 的的记录,遇第一个不满足条件的记录即结束。记录,遇第一个不满足条件的记录即结束。 注意:若一条命令中同时有注意:若一条命令中同时有forfor和和whilewhile,则优先处理后者。,则优先处理后者。 whilewhile短短语通常在程序中使用。语通常在程序中使用。 字段筛选:确定命令操作的字段,对应于关系运算中字段筛选:确定命令操作的字段,对应于关系运算中的投影运算,缺省表示全部字段。形式为:的投影运算,缺省表示全部字段。形式为: fieldsfields短语的格式:
5、短语的格式:fieldsfields字段名表字段名表 说明:说明: fieldsfields可省略可省略例如:例如:use use 客户表客户表list next 5 list next 5 联系人姓名联系人姓名, ,性别性别, ,联系电话联系电话 for for 城市城市=洛阳洛阳 说明:说明: 两条命令的含义:打开客户表,显示前两条命令的含义:打开客户表,显示前5 5条记录中条记录中“洛阳洛阳”客客户的联系人姓名,性别和联系电话信息。户的联系人姓名,性别和联系电话信息。 命令中省略了命令中省略了fields fields , ,为间隔符,必须半角为间隔符,必须半角五、命令书写规则五、命令书
6、写规则 命令动词与子句、子句之间至少用一个空格间隔,子句次序可任意。命令动词与子句、子句之间至少用一个空格间隔,子句次序可任意。 命令行长度命令行长度81928192个字符。如一行写不下,使用续行符个字符。如一行写不下,使用续行符“; ;” ”并敲回并敲回车键,将剩余部分续写在下一行车键,将剩余部分续写在下一行 关键字一律英文,不区分大小写,可缩写为前关键字一律英文,不区分大小写,可缩写为前4 4个以上的字母。个以上的字母。3.1.2 3.1.2 数据表文件的建立数据表文件的建立 关系数据库中关系称为表,用于存储数据。关系数据库中关系称为表,用于存储数据。Visual FoxProVisual
7、 FoxPro中的中的表以二维表格(即由行和列构成)的形式存放,如图表以二维表格(即由行和列构成)的形式存放,如图3-1“3-1“学生基本信息学生基本信息表表”。表中的每一列称为一个字段,每一行称为一条记录。一个表对应。表中的每一列称为一个字段,每一行称为一条记录。一个表对应于磁盘上的一个扩展名为于磁盘上的一个扩展名为.dbf.dbf的文件,如果表中有备注型或通用型字段,的文件,如果表中有备注型或通用型字段,则系统会自动建立一个与表同名而扩展名为则系统会自动建立一个与表同名而扩展名为.fpt.fpt的文件。数据表由两部的文件。数据表由两部分组成:表的结构和记录数据。结构相当于关系型的描述,用于
8、保存表分组成:表的结构和记录数据。结构相当于关系型的描述,用于保存表的字段名、类型、宽度、小数位等,决定每个字段的值域。建表时可以的字段名、类型、宽度、小数位等,决定每个字段的值域。建表时可以只建结构(空表),记录数据由程序或命令添加。自由表可以添加到数只建结构(空表),记录数据由程序或命令添加。自由表可以添加到数据库成为数据库表。一个表只能属于一个数据库。据库成为数据库表。一个表只能属于一个数据库。参见参见p52p52字段名字段名:合法,长度:合法,长度=128=128类型类型:1313类:类:C C、NN、D D、L L、MM、GG、F F、B B、Y Y、T T、I I和两个二进制类型。
9、和两个二进制类型。 宽度宽度:指最大宽度,:指最大宽度, D D、L L、MM、G G 、T T具有默认宽度具有默认宽度8 8、1 1、4 4、4 4、8 8。小数位数小数位数:只有数值型与浮点型字段才有小数位数,至少应比该字段的宽度:只有数值型与浮点型字段才有小数位数,至少应比该字段的宽度值小值小2 2。 例如例如n(8,2)n(8,2)表示最多存放表示最多存放5 5位整数位整数( (含负号含负号) )两位小数两位小数索引索引:实现快速查找,也可在索引页设置:实现快速查找,也可在索引页设置nullnull:默认否,不允许空。主关键字不允许空。:默认否,不允许空。主关键字不允许空。一、字段名、
10、类型、宽度、小数位的规定一、字段名、类型、宽度、小数位的规定参见参见p53p53参照规定,设计参照规定,设计“学生基学生基本信息表本信息表”的结构如下:的结构如下:二、建立表结构二、建立表结构 在在Visual FoxProVisual FoxPro中采用中采用“表设计器表设计器”来建立表结来建立表结构,可使用以下任一方法打开表设计器:构,可使用以下任一方法打开表设计器:(1) (1) 选择选择“文件文件”菜单菜单下的下的“新建新建”命令或者单命令或者单击常用工具栏中的击常用工具栏中的“新建新建”按钮,弹出按钮,弹出“新建新建”对话框,如图对话框,如图1-171-17所示,选择所示,选择“文件
11、类型文件类型”组框组框中的中的“表表”。单击。单击“新建文件新建文件”按钮,打开按钮,打开“创创建建”对话框,如图对话框,如图3-23-2所示,确定表的路径和名所示,确定表的路径和名字,点击字,点击“保存保存” ” 注意操作前先创注意操作前先创建好保存文建好保存文件的文件夹件的文件夹参见参见p54p54(2 2) 在在“命令命令”窗口中输入窗口中输入createcreate命令。命令。命令格式命令格式:create create 路径路径命令功能命令功能:在指定路径下创建表文件。:在指定路径下创建表文件。说明说明:路径缺省,在默认路径下;表名缺省,则打开:路径缺省,在默认路径下;表名缺省,则打
12、开“创建创建”对话框。对话框。参见参见p54p54例如,在例如,在“e:e:学生管理系统学生管理系统”下建立下建立“学生基本信息学生基本信息表表.dbf”.dbf”,应输入如下命令:,应输入如下命令: create e:create e:学生管理系统学生管理系统 学生基本信息表学生基本信息表如果事先用如果事先用set default to set default to 命令或选择命令或选择“工具工具| |选项选项| |文件位文件位置置”,将,将“e:e:学生管理系统学生管理系统”设置为默认目录,则输入命令设置为默认目录,则输入命令时可以省略路径时可以省略路径: : create create
13、学生基本信息表学生基本信息表【例【例3-13-1】 使用使用“表设计器表设计器”创建创建“学生基本信息表学生基本信息表”的结构。的结构。 按照表按照表3-13-1设计的设计的“学生基本信息表学生基本信息表”的结构,在的结构,在“表设计器表设计器”对话框中,设置各字段的属性结构。对话框中,设置各字段的属性结构。说明:说明: 字段名、类型、宽度和小数位数按照要求输入或鼠标单击选择即可。字段名、类型、宽度和小数位数按照要求输入或鼠标单击选择即可。 索引列可设置该字段为普通索引。索引列可设置该字段为普通索引。 选中选中nullnull,表示此项可以接受空值。,表示此项可以接受空值。参见参见p55p55
14、三、三、 输入记录输入记录 表结构输入完成后,单击表结构输入完成后,单击“确定确定”存盘。弹出添加存盘。弹出添加记录对话框,单击记录对话框,单击“否否”,建空表,单击,建空表,单击“是是”即可输即可输入记录。入记录。图3-4 是否立即输入数据图3-5 在“编辑”窗口中输入记录参见参见p55p55参见参见p56p56l数据输入要点:数据输入要点:逻辑型字段逻辑型字段: 只接受只接受真:真:T T、t t、 Y Y、y y;假:;假: F F、f f、NN、n n日期型数据:日期型数据:与系统设置的日期格式相符,默认按与系统设置的日期格式相符,默认按mm/dd/yymm/dd/yy格式输入格式输入
15、备注型字段:备注型字段:备注型和通用型字段的实际数据都存放在文件备注型和通用型字段的实际数据都存放在文件主名与表主名相同,而扩展名为主名与表主名相同,而扩展名为.fpt.fpt的文件中,数据录入也的文件中,数据录入也比较特别。备注型、通用型字段存储数据后比较特别。备注型、通用型字段存储数据后 “memo”memo”和和 “gen”gen”的第一个字符就会变为大写,即的第一个字符就会变为大写,即“Memo”Memo”、“Gen”Gen”。l 备注型字段数据输入步骤:备注型字段数据输入步骤: 在表记录在表记录“编辑编辑”窗口或窗口或“浏览浏览”窗口中,把光标定位到备注型字段窗口中,把光标定位到备注
16、型字段的的“memo”memo”字样上,直接双击鼠标或按下键盘上的字样上,直接双击鼠标或按下键盘上的“ctrl+page | ctrl+page | down”down”组合键,即可进入备注型字段的编辑窗口。在这个窗口内,可组合键,即可进入备注型字段的编辑窗口。在这个窗口内,可以输入或修改备注型字段的数据,如图以输入或修改备注型字段的数据,如图3-73-7所示。所示。 当数据输入或修改完成后,关闭编辑窗口或当数据输入或修改完成后,关闭编辑窗口或ww,备注型字段的数据即,备注型字段的数据即可保存可保存,esc,esc键不保存。键不保存。参见参见p56p56图3-7 备注型字段编辑窗口l通用型字段
17、数据的输入通用型字段数据的输入 通用型字段用于存储通用型字段用于存储oleole对象,如图像、声音、电子表格、对象,如图像、声音、电子表格、字处理文档和图形等多媒体数据。通用型字段的数据可通过剪贴板字处理文档和图形等多媒体数据。通用型字段的数据可通过剪贴板粘贴,或通过粘贴,或通过“编辑编辑”菜单的菜单的“插入对象插入对象”命令插入。操作步骤如命令插入。操作步骤如下:下: 在表记录在表记录“编辑编辑”窗口或窗口或“浏览浏览”窗口中,把光标定位到通用窗口中,把光标定位到通用型字段的型字段的“gen”gen”字样上,直接双击鼠标或按下键盘上的字样上,直接双击鼠标或按下键盘上的“ctrl+page|
18、down”ctrl+page| down”组合键,即进入通用型字段的编辑窗口。组合键,即进入通用型字段的编辑窗口。 打开打开“编辑编辑”菜单,选择菜单,选择“插入对象插入对象”,弹出,弹出“插入对象插入对象”对对话框,如图话框,如图3-83-8所示。如果要插入的对象不存在,可以在对话框中所示。如果要插入的对象不存在,可以在对话框中选择选择“新建新建”选项,在选项,在“对象类型对象类型”列表框中启动某应用程序来创列表框中启动某应用程序来创建一个对象;如果要插入的对象已经存在,例如要向建一个对象;如果要插入的对象已经存在,例如要向“学生基本信学生基本信息表息表”的的“照片照片”字段中插入学生照片,
19、选择字段中插入学生照片,选择“由文件创建由文件创建”选项,选项,进入下一个进入下一个“插入对象插入对象”对话框,如图对话框,如图3-93-9所示。所示。l删除已存入的图形:删除已存入的图形:打开通用型字段编辑窗口,选择打开通用型字段编辑窗口,选择“编辑编辑”菜菜单下的单下的“清除清除”命令。命令。参见参见p57p57法法2 2:命令方式。:命令方式。appeappend nd genegeneral ral 通用字段名通用字段名 from from 图文件名图文件名 注意:一个表文件,不论有多少个注意:一个表文件,不论有多少个MM、GG型数型数据,都存入在一个与表同名的据,都存入在一个与表同名
20、的fptfpt文件中。文件中。3.33.3表文件的打开、关闭与复制表文件的打开、关闭与复制一、打开和关闭表一、打开和关闭表1.1.打开表打开表 在对已经存在的表在对已经存在的表进行各种操作之前,首进行各种操作之前,首先要打开表,使其成为先要打开表,使其成为当前表。打开表的常用当前表。打开表的常用的方法有以下两种:的方法有以下两种:(1) (1) 菜单方式菜单方式选择选择“文件文件”菜单的菜单的“打开打开”命令,或工具命令,或工具栏上的栏上的“打开打开”按钮,按钮,弹出弹出“打开打开”对话框,对话框,如图如图3-113-11所示。在该对所示。在该对话框选择要打开的表的话框选择要打开的表的路径和文
21、件名,将其打路径和文件名,将其打开。开。说明:说明:“以只读方式打开以只读方式打开”:不允许对表结构:不允许对表结构和表记录数据进行修改,默认和表记录数据进行修改,默认 “可读写可读写”;“独占独占”:不允许其他用户在同一时刻使用该:不允许其他用户在同一时刻使用该表,否则,表示以共享方式打开表,共享方式表,否则,表示以共享方式打开表,共享方式下表设计器是只读状态,不能修改里面的内容。下表设计器是只读状态,不能修改里面的内容。 如果打开的表中包含备注型或通用型字如果打开的表中包含备注型或通用型字段,则打开该表的同时自动打开与表同名的扩段,则打开该表的同时自动打开与表同名的扩展名为展名为.ftp.
22、ftp的备注文件,里面存放着备注型和的备注文件,里面存放着备注型和通用型字段的内容。通用型字段的内容。参见参见p57p57(2) (2) 命令方式命令方式格式:格式:use use 路径路径 noupnoupdate date exclexclusive usive | |sharshareded功能:打开指定路径下的表文件。功能:打开指定路径下的表文件。说明:说明: 如果要打开的表在系统默认目录下,则可以省略盘符和如果要打开的表在系统默认目录下,则可以省略盘符和路径路径 如果不指定表名而使用如果不指定表名而使用“?”,弹出,弹出“使用使用”对话框,对话框,用户指定要打开的表。用户指定要打开的
23、表。 选项选项noupdatenoupdate指定以只读方式打开表,指定以只读方式打开表,exclusiveexclusive指指定以独占方式打开表,定以独占方式打开表,sharedshared指定以共享方式打开表。指定以共享方式打开表。参见参见p58p582.2.关闭表关闭表 若完成了对表的操作,要及时把表关闭,以防止数据丢失。若完成了对表的操作,要及时把表关闭,以防止数据丢失。关闭表的浏览窗口并不能关闭该表,可以使用以下方法关闭表。关闭表的浏览窗口并不能关闭该表,可以使用以下方法关闭表。(1) (1) 菜单方式菜单方式 选择选择“窗口窗口| |数据工作期数据工作期”菜单项,弹出如图菜单项,
24、弹出如图3-123-12所示的所示的“数据工作期数据工作期”窗口,在窗口,在“别别名名”列表框中选中要关闭的表列表框中选中要关闭的表文件名,单击文件名,单击“关闭关闭”按钮,按钮,即可关闭表。即可关闭表。 选择选择“文件文件| |退出退出”菜单项,菜单项,退出退出Visual FoxProVisual FoxPro系统同时系统同时关闭已打开的表。关闭已打开的表。(2) (2) 命令方式命令方式 关闭当前工作区中已经打开的表关闭当前工作区中已经打开的表 格式:格式:useuse关闭所有打开的数据库、表、索引、项目等各种类型文件关闭所有打开的数据库、表、索引、项目等各种类型文件 格式:格式:clo
25、se allclose all关闭所有打开的数据库、表、索引、项目等各种类型文件,关闭所有打开的数据库、表、索引、项目等各种类型文件,并释放所有内存变量。并释放所有内存变量。 格式:格式:clear allclear all 退出退出Visual FoxProVisual FoxPro系统同时关闭所有已打开的文件。系统同时关闭所有已打开的文件。 格式:格式:quitquit 打开一个新表,系统会自动将原表关闭,视新表为当前工打开一个新表,系统会自动将原表关闭,视新表为当前工作区的当前表作区的当前表例如:例如:useuse 学生基本信息表学生基本信息表 &打开学生基本信息表打开学生基本信
26、息表useuse 教师信息表教师信息表 &关闭学生基本信息表,同时打开教师信息表关闭学生基本信息表,同时打开教师信息表use use &关闭教师信息表关闭教师信息表 参见参见p59p59二、表文件的结构或复制表文件二、表文件的结构或复制表文件1. 1. 表文件的结构的复制:表文件的结构的复制:如果要创建的表和已有的表结构类如果要创建的表和已有的表结构类似,可以用复制表结构的方法快速创建。似,可以用复制表结构的方法快速创建。命令格式:命令格式:copy copy strustructure to cture to 盘符盘符 路径路径 fielfields ds 2, 功能:功能:
27、复制当前表的结构,并以复制当前表的结构,并以 为名新建为名新建.dbf.dbf空表文件空表文件说明:说明:若选择若选择fieldsfields选项,则生成的空表中只含有指定的字段;选项,则生成的空表中只含有指定的字段;若省略此项,则复制的空表文件结构和当前表相同。若省略此项,则复制的空表文件结构和当前表相同。【例【例3-23-2】 通过复制通过复制“学生基本信息表学生基本信息表”的结构,创建新表的结构,创建新表“学生成绩学生成绩表表”,新表只包括,新表只包括“学号学号”、“姓名姓名”、“入学成绩入学成绩”三个字段。三个字段。在命令窗口输入以下命令:在命令窗口输入以下命令:use use 学生基
28、本信息表学生基本信息表copy stru to copy stru to 学生成绩表学生成绩表 fiel fiel 学号学号, ,姓名姓名, ,入学成绩入学成绩 新建的新建的“学生成绩表学生成绩表”包含三个字段,其数据类型、宽度等设置均包含三个字段,其数据类型、宽度等设置均与与“学生基本情况表学生基本情况表”中相应字段相同,但没有任何记录。中相应字段相同,但没有任何记录。参见参见p60p60二、复制表文件二、复制表文件使用以下两种方法复制表文件。使用以下两种方法复制表文件。1.1.使用使用“文件文件”菜单中的菜单中的“导出导出”命令命令 在导出数据时,可以选定源文件和目标文件,也可以指定导出字
29、在导出数据时,可以选定源文件和目标文件,也可以指定导出字段、设置导出记录的作用范围和要满足的条件。段、设置导出记录的作用范围和要满足的条件。2.2.使用使用copycopy命令命令命令格式为命令格式为 copy to copy to 盘符盘符 路径路径 ; ; fielfields ds ;2,; for for范围范围 whilwhile e 命令功能:将当前表的结构和数据同时复制到指定的表中。命令功能:将当前表的结构和数据同时复制到指定的表中。说明:说明: fieldsfields、forfor、whilewhile、范围短语如前说明。、范围短语如前说明。 注意:当命令短语多,一行不好写下
30、时,可以分号注意:当命令短语多,一行不好写下时,可以分号+ +回车分行写回车分行写【例【例3-33-3】 复制复制“学生基本信息表学生基本信息表”中女生的学号、姓名、入学成绩到新表中女生的学号、姓名、入学成绩到新表girlscore.dbfgirlscore.dbf。在命令窗口输入以下命令:在命令窗口输入以下命令:use use 学生基本信息表学生基本信息表copy to girlscore for copy to girlscore for 性别性别=女女 fields fields 学号学号, , 姓名姓名, , 入学成绩入学成绩一、一、 在主窗口在主窗口显示显示当前表当前表的结构的结构格
31、式:格式:list|list|dispdisplaylay stru structure to cture to prinprinter ter promprompt|to file pt|to file 功能:显示、打印或保存打印当前表文件结构。功能:显示、打印或保存打印当前表文件结构。4.2.2 4.2.2 修改表的结构修改表的结构 如果字段名、类型、宽度有误,字段不够或缺少,可以如果字段名、类型、宽度有误,字段不够或缺少,可以重新打开表设计器修改表结构。使用下面两种方法:重新打开表设计器修改表结构。使用下面两种方法:命令方式,命令方式, modimodify fy strustructu
32、recture菜单方式菜单方式 :显示菜单项:表设计器:显示菜单项:表设计器use use 或菜单方式打开的称为当前表。或菜单方式打开的称为当前表。3.43.4表文件的基本操作表文件的基本操作.3显示当前表的记录显示当前表的记录1. 1. 命令方式命令方式格式:格式:listlist| |dispdisplay fields lay fields for for while while to file to file off off功能:将记录按照指定的选项显示在主界面功能:将记录按照指定的选项显示在主界面说明:说明: :显示的字段表达式,西文半角逗号间隔。:显示的字段表达式,
33、西文半角逗号间隔。 :allall、next nnext n、record nrecord n和和restrest for | while for | while :显示满足所给条件的记录。:显示满足所给条件的记录。 whilewhile遇条件不成立的第一个记录结束。优先于遇条件不成立的第一个记录结束。优先于forfor off off:不显示记录号:不显示记录号 命令最简形式:命令最简形式: dispdisplaylay:显示当前记录;:显示当前记录; listlist:显示全部。执行结束,:显示全部。执行结束,eof()eof()为真为真【例【例4-24-2】就学生基本情况表,写出进行如下
34、操作的命】就学生基本情况表,写出进行如下操作的命令令(1) (1) 显示前显示前5 5条记录条记录(2) (2) 显示记录号为奇数的记录显示记录号为奇数的记录(3) (3) 显示全部记录显示全部记录(4) (4) 显示团员男学生的记录显示团员男学生的记录(5) (5) 显示女生的学号、姓名、年龄以及专业代号显示女生的学号、姓名、年龄以及专业代号use use 学生基本信息表学生基本信息表(1) list next 5 &(1) list next 5 &显示显示1-51-5条记录条记录(2) list for mod(recno(),2)=1(2) list for mod(r
35、ecno(),2)=1(3) list(3) list(4) list for (4) list for 是否入团是否入团 .and. .and. 性别性别= = 男男 (5) list (5) list 学号学号, ,姓名姓名, year(date()-year(, year(date()-year(出生日期出生日期), ;), ; 专业代号专业代号 for for 性别性别= = 女女 2.2.界面方式界面方式l菜单方式:菜单方式:显示菜单:显示菜单:【浏览】:一行一记录【浏览】:一行一记录【编辑】:一行一字段【编辑】:一行一字段注:注:可修改可修改 添加添加: :显示、追加记录。显示、追
36、加记录。浏览窗口的分割与同步:浏览窗口的分割与同步:向右拖动左下角的黑色小方块,可把向右拖动左下角的黑色小方块,可把窗口分为两个两个分区,显示的内容窗口分为两个两个分区,显示的内容相同,显示方式可以使用相同,显示方式可以使用“显示显示” 任任意设置改变,如:左边是浏览方式,意设置改变,如:左边是浏览方式,右边是编辑方式,反过来亦可。在系右边是编辑方式,反过来亦可。在系统菜单的【表】统菜单的【表】| |【链接分区】命令可【链接分区】命令可解除这种同步,重新在该命令前打解除这种同步,重新在该命令前打“”,又能恢复同步。,又能恢复同步。浏览表的效果:浏览表的效果:当当前前记记录录标标记记删除标记位删
37、除标记位空表空表无当无当前记前记录标录标记记l 记录访问控制开关:记录访问控制开关:set filter to set filter to 条件条件 作用:控制满足条件的记录显示作用:控制满足条件的记录显示例如:例如: set filter to set filter to 系别代号系别代号=11 =11 list list &只显示系别代号只显示系别代号=“11” =“11” 的记录的记录4.2.4 4.2.4 表记录指针的定位表记录指针的定位l记录号:表示数据记录在表文件中的物理顺序,记录号:表示数据记录在表文件中的物理顺序,l记录指针:指示当前被操作处理的记录的指示器,记录指针:
38、指示当前被操作处理的记录的指示器,l当前记录:表记录指针指向的记录,当前记录:表记录指针指向的记录, recno()recno()测试测试l记录指针的定位:记录指针的定位:移动记录指针,分绝对定位;相对定位;移动记录指针,分绝对定位;相对定位;1.1.绝对定位:绝对定位:记录指针绝对地定位到指定的记录记录指针绝对地定位到指定的记录格式:格式:goto goto | | top top | | bottombottom功能:将指针绝对定位到功能:将指针绝对定位到 所指的物理记录上所指的物理记录上说明:说明:l记录号:记录号:1 1至至reccount()reccount()(记录个数)(记录个数
39、)ltoptop和和bottombottom分别表示表的首、末记录,分别表示表的首、末记录,l绝对定位与是否打开索引文件无关,相对定位有关绝对定位与是否打开索引文件无关,相对定位有关例:用绝对定位命令定位记录指针,并显例:用绝对定位命令定位记录指针,并显 示当前记示当前记录录use use 学生基本信息表学生基本信息表goto 2 goto 2 disp disp &系统显示第二条记录内容系统显示第二条记录内容goto top goto top disp while disp while 性别性别=“=“女女” &因第一条非女性,无显示因第一条非女性,无显示2. 2. 相对定位
40、相对定位格式:格式:skipskip 功能:功能:记录指针以逻辑顺序,向前或向后移动记录指针以逻辑顺序,向前或向后移动n n个记录个记录 n n为为1 1时可省写为:时可省写为:skipskip说明:说明:ln n:0: 0: 记录指针往表尾方向移动记录指针往表尾方向移动n n个记录;个记录;0: 0: 记记录指针表头方向移动录指针表头方向移动n n个记录。个记录。 l末记录与文件尾:如果记录指针指向末记录而执行末记录与文件尾:如果记录指针指向末记录而执行skipskip,则,则recno()recno()返回返回 一个比表记录数大一个比表记录数大1 1的数,的数,且且eof()eof()返回
41、返回.t.t.l首记录与文件首:如果记录指针指向首记录而执行首记录与文件首:如果记录指针指向首记录而执行skip -1skip -1,则,则recno()recno()返返 回回1 1,且,且bof()bof()返回返回.t.t.相对定位与是否打开索引文件有关。如果打开相对定位与是否打开索引文件有关。如果打开了索引,则记录指针按索引文件中的逻辑顺序了索引,则记录指针按索引文件中的逻辑顺序移动,否则按表文件中的物理顺序移动。移动,否则按表文件中的物理顺序移动。 例例4-34-3:设当前数据库由:设当前数据库由1717条记录,用定位命令定位记条记录,用定位命令定位记录指针,并显示记录、记录号、文件
42、尾、文件首等信息。录指针,并显示记录、记录号、文件尾、文件首等信息。use use 学生基本信息表学生基本信息表skip 6 skip 6 disp disp &显示第七条记录内容显示第七条记录内容skip-3 skip-3 disp disp &显示第四条记录内容显示第四条记录内容go topgo topskip -1skip -1? bof() ? bof() &显示显示.t.t.go bottgo bottskipskip?eof() ?eof() &显示显示.t.t.?reco() ?reco() &显示显示1818演示:打开一个演示:打开一个.
43、dbf.dbf文件,在文件,在记录定位时,观察浏览窗口的记录定位时,观察浏览窗口的变化变化(需要在浏览窗口的任意位置(需要在浏览窗口的任意位置单击一下才能看到变化结果)单击一下才能看到变化结果)表内容显示方式下,表内容显示方式下,会自动增加会自动增加表菜单表菜单转到记录:转到记录:定位定位4.2.5 4.2.5 表记录的修改表记录的修改1 1 命令方式命令方式格式格式1 1:edit/edit/chanchange fields ge fields for for while while 2功能:按给定的范围和条件,编辑修改表文件的记录功能:按给定的范围和条件,编辑修改表文件的记录格式格式2
44、2:browbrowse se fielfields ds for for while while 2功能:按给定的范围和条件,浏览修改当前表的功能:按给定的范围和条件,浏览修改当前表的 记记 录内容,效果同浏览录内容,效果同浏览说明:说明:l如果当前工作区中没有已经打开的表文件,如果当前工作区中没有已经打开的表文件,系统会弹出系统会弹出“打开打开”对话框对话框l在浏览窗口打开时,表菜单自动弹出。在浏览窗口打开时,表菜单自动弹出。l是否保存:关闭窗口是否保存:关闭窗口ctrl+wctrl+w保存编辑结果;保存编辑结果;ESCESC或或ctrlctrlq q放弃保存并关闭窗口放弃保存并关闭窗口l
45、修改方式:修改方式:浏览:一行多个字段,编辑:一行一个字段浏览:一行多个字段,编辑:一行一个字段lfields fields :选择需修改的字段,缺省:全部字选择需修改的字段,缺省:全部字段段l :可缺省:可缺省lfor for 1和和while while :2:按条件显示记录按条件显示记录 2. 2. 界面方式界面方式 方式方式1 1:【显示】菜单:浏览:【显示】菜单:浏览 方式方式2 2:数据库菜单:浏览:数据库菜单:浏览 方式方式3 3:项目菜单:浏览文件:项目菜单:浏览文件3. 3. 替换修改替换修改 (横向批计算)(横向批计算)命令方式:命令方式:格式:格式:replreplace
46、 ace with with 1 表表 for | for |whilwhile e additive additive 功能:用指定表达式的值替换当前表中满足条件记录功能:用指定表达式的值替换当前表中满足条件记录 的指定字段的值,实现记录数据编辑及横向计算。的指定字段的值,实现记录数据编辑及横向计算。说明:说明:l替换:用替换:用 1的值替换的值替换 1, 用用 2的值替换的值替换 2,依此类推;,依此类推;l记录范围记录范围 :缺省范围和条件,默认当前记录缺省范围和条件,默认当前记录;for for 下下默认默认allall;whilewhile下默认下默认restrest;ladditi
47、veadditive:替换备注型字段,内容将附加到备注型:替换备注型字段,内容将附加到备注型字段原来内容之后,否则改写。字段原来内容之后,否则改写。l与与append blankappend blank配合使用可以给表文件添加新记配合使用可以给表文件添加新记录录【例【例4-44-4】写出对学生基本情况表进行如下操作的命令】写出对学生基本情况表进行如下操作的命令(1) (1) 将男学生的电话号码改为将男学生的电话号码改为6563568865635688。(2) (2) 将将6 6号记录的出生日期修改为号记录的出生日期修改为19831983年年9 9月月7 7日日, ,专业专业代号修改为代号修改为
48、1212use use 学生基本情况表学生基本情况表replace replace 电话电话 with 65635688 for with 65635688 for 性别性别=男男 go 6 go 6 &将记录指针定位到将记录指针定位到6 6号记录号记录replace replace 出生日期出生日期 with 1983-09-07,;with 1983-09-07,; 专业代号专业代号 with with 1212 replace replace 奖学金奖学金 with with 奖学金奖学金+500 +500 否入学成绩否入学成绩600600操作提示:操作提示:在使用该命令时,打开
49、表文件,在使用该命令时,打开表文件,观察使用观察使用replrepl命令后,表记录值的变化。命令后,表记录值的变化。菜单方式菜单方式 表表 替换字段替换字段 ,弹出,弹出 “替换字段替换字段”对话框对话框: :(1) (1) 选择要替换的字段名,选择要替换的字段名, “替换为替换为”:输入替换表达式,:输入替换表达式, “替换条件替换条件”:输入范围、条件:输入范围、条件(2) (2) 单击【替换】按钮,完成替换操作单击【替换】按钮,完成替换操作4.2.6 4.2.6 表记录的添加表记录的添加添加记录包括插入、追加和利用其它文件追加等。添加记录包括插入、追加和利用其它文件追加等。1. 1. 插
50、入记录(无界面方式)插入记录(无界面方式) 格式:格式:insert blank beforeinsert blank before功能:在指定位置插入新记录或空记录功能:在指定位置插入新记录或空记录说明:说明:lblankblank:插入一个空记录,:插入一个空记录,lbeforebefore:在当前记录之前插入一个新记录,:在当前记录之前插入一个新记录, 原来原来的当前记录及其后面记录的记录号均加的当前记录及其后面记录的记录号均加1 1, 缺省,缺省,则在当前记录的后面插入一个新记录则在当前记录的后面插入一个新记录 例例4-54-5:对学生基本情况表增加:对学生基本情况表增加6 6号和号和
51、7 7号记录号记录use use 学生基本情况表学生基本情况表go 6 go 6 &或或go to 5go to 5 insert before insert before &新增加记录为新增加记录为6 6号记录,成为当前记录号记录,成为当前记录insert insert &在在6 6号记录之后插入新记录,即第号记录之后插入新记录,即第7 7号记录号记录2.2.命令方式追加记录命令方式追加记录 格式格式1 1:appendappend blank blank功能:在当前表的末尾追加一条或多条空记录或新纪录功能:在当前表的末尾追加一条或多条空记录或新纪录说明:说明:l如果
52、当前没有打开的表,则系统弹出如果当前没有打开的表,则系统弹出“打开打开”对话框对话框lblankblank:自动追加一个空记录自动追加一个空记录(?)(?)到表末到表末, ,并作为当前记录。并作为当前记录。 l追加新纪录:在命令窗口输入追加新纪录:在命令窗口输入appendappend后,系统显示记后,系统显示记录追加窗,在此窗口中可手动输入,直到关闭。录追加窗,在此窗口中可手动输入,直到关闭。例例4-64-6:在学生基本情况:在学生基本情况表末记录后增加记录表末记录后增加记录useuse学生基本信息表学生基本信息表append append appendappend 左述操作命令与下左述操作
53、命令与下面两条命令等价:面两条命令等价:go bottgo bottInsertInsertinsertinsert操作提示:操作提示:在使用在使用该命令时,打开表该命令时,打开表文件,观察表记录文件,观察表记录值的变化。值的变化。格式格式2 2:appeappend from nd from fielfields ds for for while while type sdf| type sdf| delidelimited |xls with tab mited |xls with tab | | | blanblank k 功能:把指定功能:把指定表文件表文件、文本文件文本文件(.txt
54、.txt)、)、excelexcel文件文件中的数据添加到当前表的尾部中的数据添加到当前表的尾部说明:说明: l :源文件的名字,默认:源文件的名字,默认.dbf.dbflfields fields :指定添加字段,缺省表示所有字段指定添加字段,缺省表示所有字段lfor for 或或while while :对源表文件记录限制:对源表文件记录限制4.2.7 4.2.7 表记录的删除表记录的删除记录删除可以分为:逻辑删除和物理删除记录删除可以分为:逻辑删除和物理删除逻辑删除可恢复,物理删除则不可恢复逻辑删除可恢复,物理删除则不可恢复删除记录需要表文件打开。删除记录需要表文件打开。1 1 逻辑删除
55、(打开状态下)逻辑删除(打开状态下)l命令方式命令方式格式:格式:delete delete for for while while 功能:对当前表中指定范围内满足条件的记录做功能:对当前表中指定范围内满足条件的记录做 删除标志。删除标志。说明:缺省选项,仅对当前记录加上删除标志说明:缺省选项,仅对当前记录加上删除标志 l浏览方式:浏览方式:在浏览窗口的记录号后单击在浏览窗口的记录号后单击l 菜单方式菜单方式(浏览状态下)(浏览状态下)【表】【表】 【删除记录】【删除记录】: “: “删除删除”对话框对话框单击,弹单击,弹出表达式出表达式生成器:生成器:构造条件构造条件表达式表达式命令方式:命
56、令方式:dele for dele for 专业代号专业代号= 1= 1(推荐使用)(推荐使用)菜单方式:菜单方式: 【表】【表】 【删除记录】【删除记录】: “: “删除删除”对话框:对话框:【例】逻辑删除学生基本情况表中所【例】逻辑删除学生基本情况表中所有专业代号为有专业代号为0101的记录的记录表达式:表达式:专业代号专业代号=“01”=“01”的输入:的输入:在字段列表中在字段列表中双击专业代号双击专业代号在逻辑列表中在逻辑列表中单击单击= =号号在字符串列表在字符串列表中单击中单击“文本文本”在表达式文本在表达式文本框的框的“ ”中单中单击定位输入击定位输入0101逻辑删除的逻辑删除
57、的记录显示时记录显示时记录号后带记录号后带* *,浏览时,浏览时显示一黑快显示一黑快见见p95p952 2 隐藏逻辑删除的记录隐藏逻辑删除的记录格式:格式:set deleted on|offset deleted on|off功能:隐藏或关闭逻辑删除记录功能:隐藏或关闭逻辑删除记录说明:说明: offoff:关闭隐藏,默认。:关闭隐藏,默认。onon:设置隐藏,除下列情况外,不处理逻辑删除记录:设置隐藏,除下列情况外,不处理逻辑删除记录: 记录范围是当前记录或记录范围是当前记录或record(n)record(n)指定的记录指定的记录 index index 或或reindex reinde
58、x 命令命令例如例如 listlist &显示专业代号显示专业代号=“01”=“01”的学生记录的学生记录 set dele onset dele on list list &不显示专业代号不显示专业代号=“01”=“01”的学生记录的学生记录3 3 取消删除标记取消删除标记l 命令方式命令方式格式:格式:recall recall for for while while功能:将当前表文件中指定范围内满足条件已做删除功能:将当前表文件中指定范围内满足条件已做删除标记的记录恢复为正常记录。标记的记录恢复为正常记录。说明:缺省选项,仅取消当前记录的删除标志。说明:缺省选项,仅取消当
59、前记录的删除标志。 【例【例4-74-7】 恢复学生基本信息表中所有逻辑删除的记录恢复学生基本信息表中所有逻辑删除的记录use use 学生基本信息表学生基本信息表set dele onset dele onlist list &不显示带删除标记的记录不显示带删除标记的记录reca allreca alllistlist &显示全部记录显示全部记录l 菜单方式(菜单方式(浏览状态下)浏览状态下)【表】【表】 【恢复记录】命令,弹出恢复对话框。其操作与【恢复记录】命令,弹出恢复对话框。其操作与“删除删除”对话框相同对话框相同 4. 4. 物理删除记录物理删除记录l 命令方式命令方
60、式格式:格式:pack memo pack memo 功能:将当前表文件中所有带删除标志的记录全部清除功能:将当前表文件中所有带删除标志的记录全部清除说明:说明:memomemo:只压缩备注文件;:只压缩备注文件;缺省选项:删除表文件中做了删除标记的记录,并压缺省选项:删除表文件中做了删除标记的记录,并压 缩备注文件。缩备注文件。 操作提示:操作提示:通过观察浏览窗口记录的变化,理解通过观察浏览窗口记录的变化,理解插入、添加、删除等命令的功能。插入、添加、删除等命令的功能。【例【例4-84-8】删除学生基本情况表中记录】删除学生基本情况表中记录5 51010use use 学生基本信息表学生基本信息表go 5go 5delete next 6delete next 6pack pack l菜单方式(浏览状态下)菜单方式(浏览状态下) 【表】表】 【彻底删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年05月北京2024届中国民生银行资产管理部毕业生“未来银行家”暑期管培生校园招考笔试历年参考题库附带答案详解
- 2025年度房地产开发项目承包商资金保障担保合同3篇
- 2025年度拆迁安置补偿合同模板(含房屋买卖)4篇
- 2025年度厂房用电安全改造安装合同范本4篇
- 2025年度城市地下综合管廊建设场地平整与施工合同4篇
- 2025年度茶园场地承包合同范本-茶树种植基地合作经营4篇
- 2024年04月江苏交通银行信用卡中心苏州分中心校园招考笔试历年参考题库附带答案详解
- 临时暑期工劳动协议格式2024年版B版
- 2025年度茶园采摘加工一体化项目合作协议4篇
- 2025年度建筑材料运输安全管理与培训合同3篇
- 2024人教新版七年级上册英语单词英译汉默写表
- 《向心力》参考课件4
- 2024至2030年中国膨润土行业投资战略分析及发展前景研究报告
- 【地理】地图的选择和应用(分层练) 2024-2025学年七年级地理上册同步备课系列(人教版)
- 2024年深圳中考数学真题及答案
- 土方转运合同协议书
- Module 3 Unit 1 Point to the door(教学设计)-2024-2025学年外研版(三起)英语三年级上册
- 智能交通信号灯安装合同样本
- 安全生产法律法规清单(2024年5月版)
- 江苏省连云港市2023-2024学年八年级下学期期末道德与法治试卷(含答案解析)
- 2024年大学试题(宗教学)-佛教文化笔试考试历年高频考点试题摘选含答案
评论
0/150
提交评论