您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第2章-VFP表的基本操作
第2章VFP表的基本操作2.1VFP表的建立、修改与运行自由表&数据库表第2章VFP表的基本操作2.1.1分析和设计表的结构表是由行和列组成的二维表格,它是处理数据和建立关系数据库及其应用程序的基本单元。表分为自由表和数据库表。自由表是独立于数据库而存在的一种表,而数据库表是包含在数据库中的表。表主要由结构和记录两部分组成。结构可以理解为表的框架,记录即表中的数据。姓名性别出生年月婚否教研室职称月收入简历照片张三男1957-8-12T语文教授1343.56略略李四女1960-8-23T数学副教授1050.20略略景秀丽女1979-2-11T外语讲师890.00略略王五男1967-5-23T计算机讲师678.00略略赵六男1963-12-8F外语副教授1040.40略略马识途男1975-4-21F计算机讲师860.00略略李华男1988-8-15T数学讲师880.00略略1.表结构的分析记录(行)属性(列)值字段名Teacher表关系名1.表结构的分析注:①同一列数据必须使用相同的数据表示方法,也就是数据类型。②要给字段值预留足够的存储空间,也就是定义字段的宽度(1个汉字占用2个字节)。③字段的名称、类型、宽度等构成表的框架,及结构。④表的建立分两步,第一步定义表结构,第二步输入数据。定义表结构就是定义各个字段的属性,包括字段的个数以及每个字段的名称、类型、宽度等。⑤宽度和小数位:字段的宽度规定了字段值可以容纳的最大字节数。数值型字段除需要定义字段的总宽度外,还需要定义小数位。2.表结构的设计在VFP系统中,一张二维表对应一个数据表,称为表文件,扩展名为.DBF。一张二维表有表名、表头、表的内容三部分组成,一个数据表有表文件的文件名、结构、记录三个要素。定义表结构的步骤:1.熟悉事务处理的工作流程2.明确事务处理的目的3.所需的原始数据和相关数据4.确定所需要的数据表,每个表中所含字段、各个字段的类型、宽度等。2.1.2建立表的结构菜单方式命令方式项目方式“表设计器”——“字段”选项卡字段名(FieldName),每一个字段必须取一个名字,称为“字段名”,用以在表中标志该字段。以字母或汉字开头,可包括字母、汉字、数字和下划线,长度不超过10。字段的数据类型(Type),表中每个字段都有特定的数据类型。字段宽度(Width),指该字段所能容纳数据的最大的字节数,字段的宽度必须能足够容纳可能的最长的数据信息。除字符型、数值型、浮动型字段由用户根据需要设定字段宽度外,其它类型均由系统规定宽度。字段的基本属性小数位数(Decimal),对于数值型、浮点型和双精度型的字段,还可以指定其小数的位数。小数位和正负号都须在字段宽度中占一位。空值(NULL)支持,空值是用来指示记录中的一个字段“没有值”的标志。空值表示没有任何值或没有确定值,空值不同于数值0、空字符串或逻辑“假”。2.1.3表数据的录入表数据的输入要点:如果输入的数据宽度等于字段宽度时,则光标自动跳到下一个字段;如果输入的数据宽度小于字段宽度时,则需按Enter键或Tab键跳到下一个字段。对于有小数的数值型字段,如果输入整数部分宽度等于所定义的宽度时,则光标自动跳到小数部分;如果小于所定义的宽度,则按键盘右箭头跳到小数部分。输入记录的最后一个字段的值后,按Enter键,光标自动定位到下一个记录的第一个字段。2.1.3表数据的录入逻辑型字段只能接受.T.,.Y.,.F.,.N.四个字母之一(不区分大小写),如果在此字段中不输入值,则默认为.F.。日期型数据必须与日期格式相符,默认按美国格式mm/dd/yy;对于备注型和通用型字段,输入时将光标定位在memo或gen区,双击鼠标(或单击memo或gen区后按ctrl+pgdn组合键),打开相应的编辑窗口,输入完后,按ctrl+w存盘退出,按esc或ctrl+Q输入作废。2.2表的打开与关闭菜单方式命令方式2.3表的显示2.3.1表记录的显示菜单方式命令方式BROWSELIST/DISPLAYBROWSE命令【命令格式】BROWSE[范围][FIELDS字段名表][FOR条件表达式][LAST]【功能】在“浏览”窗口中显示或修改数据。【说明】使用FIELDS子句,对指定的字段进行操作。使用FOR子句,对满足条件的记录进行操作。LAST子句选用最后一次的显示配置(浏览方式或编辑方式)。BROWSE命令例题【例2.8】使用BROWSE命令浏览表teacher.dbf中的记录。USEteacherEXCLUSIVEBROWSE【例2.9】使用BROWSE命令浏览表teacher.dbf中职称是“讲师”的记录。USEteacherEXCLUSIVEBROWSEFOR职称=讲师BROWSE命令例题【例2.10】使用BROWSE命令浏览表teacher.dbf中记录的“姓名”、“性别”、“出生年月”三个字段的内容。USEteacherEXCLUSIVEBROWSEFIELDS姓名,性别,出生年月LIST/DISPLAY命令【命令格式】LIST/DISPLAY[范围][FIELDS字段名表][FOR条件表达式][OFF][TOPRINT][TOFILE文件名]【功能】在工作区窗口显示当前表中符合条件的记录。LIST/DISPLAY命令【说明】LIST命令的范围默认值为ALL,DISPLAY命令的默认值为当前记录。如省略范围,使用[FOR条件]子句,默认范围为ALL。若省略FIELDS子句,默认所有字段。若省略OFF子句,显示记录号,否则不显示记录号。若使用TOPRINT子句,输出记录到打印机。默认输出到屏幕。若使用TOFILE文件名子句,将输出内容写入指定表文件。LIST/DISPLAY命令例题【例2.11】在工作区窗口显示表teacher.dbf中记录。USEteacherEXCLUSIVELIST?RECNO()?EOF()GO3DISPLAY?RECNO()?EOF()LIST/DISPLAY命令例题【例2.12】在工作区窗口显示表teacher.dbf中计算机教研室老师的记录。USEteacherEXCLUSIVELISTFOR教研室=计算机LIST/DISPLAY命令例题【例2.13】在工作区窗口显示表teacher.dbf中70年以前出生的老师记录。USEteacherEXCLUSIVELISTFOR出生年月{^1970/1/1}【例2.14】在工作区窗口显示表teacher.dbf中月收入在1000元以上的老师的姓名、月收入。USEteacherEXCLUSIVELISTFOR月收入1000FIELDS姓名,月收入LIST/DISPLAY命令例题【例2.15】在工作区窗口显示表teacher.dbf中已婚老师记录。USEteacherLISTFOR婚否OFF2.3.2表结构的显示【命令格式】LIST/DISPLAYSTRUCTURE【功能】在工作区窗口显示当前表的结构。【例2.16】显示表teacher.dbf的结构。USEteacherLISTSTRUCTURE2.4目录操作2.5文件的复制和删除2.5.1表文件的复制【命令格式】COPYTO新表名[范围][FIELDS字段名表][FOR条件]【功能】将当前表的结构和记录全部或部分复制到新表中。【说明】若没有任何子句,则将复制一个与当前表结构和内容完全相同的新表。新表的结构由FIELDS子句的字段名表决定,新表的记录个数由FOR子句的条件决定。【例2.18】复制完全相同的表teacher.dbf到teacher2.dbf和teacher2.fpt。USEteacherCOPYTOteacher2USEteacher2LIST【例2.19】从表teacher.dbf复制到teacher3.dbf,新表中含有女教师的“姓名”、“性别”、“教研室”3个字段。USEteacherCOPYTOteacher3FOR性别=女FIELDS姓名,性别,教研室USEteacher3LIST2.5文件的复制和删除2.5.1表文件的复制2.5.2表结构的复制【命令格式】COPYSTRUCTURETO新表名[FIELDS字段名表]【功能】将当前表的结构全部或部分复制到新表中。【说明】产生的新表是一个只有表结构而没有记录的空表。若使用FIELDS子句,则新表只包含FIELDS子句指定的字段。2.5.3任意类型文件的复制【命令格式】COPYFILE源文件名TO目标文件名【功能】将源文件内容拷贝到目标文件中去。【说明】该命令可复制任何类型的文件。源文件和目标文件若有扩展名,必须写上。源文件和目标文件不能使用通配符“*”、“?”。使用该命令前,源文件必须是关闭的。若源文件是一个带有备注型字段的数据表文件,则需要另外复制.FPT文件。2.5.4文件的删除【命令格式】ERASE/DELETEFIEL文件名/?【功能】删除磁盘文件。【说明】要删除的文件中若有扩展名,必须写上。要删除的文件中可以使用通配符“*”、“?”。文件名前可带盘符和路径,若省略盘符和路径,则指当前盘当前路径。使用该命令前,被删除的文件必须是关闭的。若要删除的文件是带有备注型字段的数据表文件,则需要另外删除.FPT文件。2.6记录指针的定位表中的每个记录都有一个编号,称为记录号。对于打开的表,会被分配一个记录指针。记录指针指向的记录称为当前记录。定位记录就是移动记录指针,使指针指向符合条件的记录过程。使用记录号测试函数RECNO()可以获得当前记录的记录号。表文件有两个特殊的位置:文件头(表起始标记)和文件尾(表结束标记)。文件头在表的第1个记录之前,当记录指针指向文件头时,BOF()函数的值为.T.;文件尾在表的最后1个记录之后,当记录指针指向文件尾时,EOF()函数的值为.T.,表的结构2.6.1绝对定位将记录指针直接定位到某条记录,称记录的绝对定位。【命令格式】GO/GOTO[TOP/BOTTOM]/n]【功能】将记录指针指向定位记录【例2.21】GO命令定位示例。USEteacher?RECNO()&&刚打开的表,指针指向第1个记录GOBOTTOM&&定位到末记录?RECNO()?EOF()GO3?RECNO()GOTOP&&定位到首记录?RECNO()2.6.2相对定位【命令格式】SKIP[+/-][数值表达式]【功能】从当前记录开始向前或向后移动记录指针。【说明】SKIP向表尾方向移动1个记录。SKIP+n向表尾方向移动n个记录。SKIP-n向表头方向移动n个记录。2.7记录的追加与插入2.7.1记录的追加【命令格式】APPEND[BLANK]【功能】在已打开的当前表的尾部追加一个或多个记录。【说明】当命令使用BLANK子句时,在表的尾部追加一个空白记录,并且不进入编辑窗口。2.7.2记录的插入【格式】INSERT[BEFORE][BLANK]【功能】在当前表中某个记录的之前或之后插入记录。【说明】INSERT表示在当前记录的之后插入一条记录。INSERTBEFORE表示在当前记录的之前插入一条记录。INSERTBLANK或INSERTBEFOREBLANK表示在当前记录之后或之前插入一条空记录。插入空记录后,其后所有记录的记录号加1,空记录只有记录号而无内容。2.8记录的删除和恢复2.8.1记录的逻辑删除【命令格式】DELETE[范围][FOR条件]【功能】逻辑删除指定范围内符合条件的记录。删除标记用“*”表示。【例2.25】逻辑删除表teacher.dbf中的第3个和第5个记录。USEteacherEXCLUSIVEGO3DELETEGO5DELETELIST2.8.2记录的恢复【命令格式】RECALL[范围][FOR条件表达式]【功能】恢复指定范围内符合条件的被逻辑删除的记录为正常记录。【说明】RECALL仅恢复当前
本文标题:第2章-VFP表的基本操作
链接地址:https://www.777doc.com/doc-4186180 .html