您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第三章数据表基本操作
11设置默认目录(1)菜单操作方式“工具”“选项”“文件位置”“默认目录”(2)命令方式SETDEFAULTTOD:\vfp注意:VFP中所有命令全部使用英文标点符号22创建自由表菜单操作方式表文件扩展名*.dbf备注型字段或通用型字段数据的输入方法(Ctrl+Home)使用备注型、通用型字段后,系统会自动生成备注文件,扩展名为.FPT,此文件不可删除Ctrl+w保存所输入的数据ctrl+q取消所输入的数据窗口分割器33命令方式【格式1】Create[表文件名]【格式2】Createtable表名(字段名字段类型(字段宽度[,小数位数]…))字符型C,数值型N,日期型D逻辑型L,备注型M,通用性G例:createtablexscj(学号c(5),课程号c(4),成绩n(6,3))44VisualFoxPro6.0中的命令VisualFoxPro6.0命令的一般格式命令动词[范围][[FIELDS]字段名表][FOR条件]|[WHILE条件]范围子句ALL表中全部记录RECORDn表中指定的第n条记录NEXTn从表中当前记录开始向下的n条记录REST从表中当前记录开始到最后一条记录为止的所有记录55FOR和WHILE选项的不同(1)FOR子句是从首记录开始判断逻辑表达式的值是真还是假,而WHILE子句则是从当前记录开始判断逻辑表达式值的真假。(2)FOR子句是对整个表中所有满足条件的记录进行操作,而WHILE子句则是从当前记录开始对满足条件的连续记录进行操作,即遇到不满足条件的记录,则立即停止操作,不管其后是否还有满足条件的记录。(3)FOR和WHILE子句在某些命令中既可以单独使用,也可以同时使用,WHILE优先于FOR。66命令的使用(1)每条命令以命令动词开头,动词后的选项先后顺序可以任意,但必须符合命令格式的规定。(2)用空格来分隔每条命令中的各个选择项。(3)分号作为续行符(;)用来表示下行仍是同一命令的一部分,这样就可以把一条长命令分成多行来写,但命令的最后一行不能以分号结尾。(4)命令动词、各短语中的关键字、函数名都可以简写为4个字符,不区分大小写。77表记录操作1.表的打开与关闭表的打开命令格式:USE表名表的关闭格式:USE&&关闭当前工作区中的表CLOSEALL&&数据库、索引、项目管理器等同时被关闭882.表记录的浏览菜单方式命令方式格式1:BROWSE[FIELDS字段名表][FOR|WHILE条件]格式2:DISPLAY[范围][[FIELDS]字段名表][FOR|WHILE条件][TOPRINT][OFF]格式3:LIST[范围][[FIELDS]字段名表][FOR|WHILE条件][TOPRINT][OFF]BROWSE命令执行时打开“浏览”窗口。DISP、LIST将显示结果送到屏幕。有“OFF”时,不显示记录号99LIST和DISPLAY命令的区别(1)省略范围时,LIST默认值为ALL,显示所有记录;省略范围和条件时,DISPLAY默认值为当前记录,即显示一条记录。(2)当显示内容较多时,DISPLAY是分页显示;LIST不分页,而是连续地滚动显示。10103.表记录的定位记录的指针系统在打开一个表文件后将自动生成三个控制标志:记录开始标志、记录指针标志、记录结束标志。文件头(含表结构等信息)文件记录开始标志第1条记录……第n条记录文件记录结束标志Skip-1Skip11111根据定位的方式,分为绝对定位(GO或GOTO)、相对定位(SKIP)、条件定位(LOCATE)和索引定位(FIND或SEEK)四种。当表打开时,当前记录为第一条记录。菜单方式定位记录“表”“转到记录”1212命令方式定位记录(1)绝对定位(GO)命令格式1:GO数值表达式|TOP|BOTTOM命令格式2:数值表达式(2)相对定位(SKIP)命令格式:SKIP[数值表达式]当数值表达式为1时可省略,即SKIP等价于SKIP1。1313常用测试函数BOF()是否在开始标志处EOF()是否在结束标志处RECNO()当前记录号RECCOUNT()表文件总记录数刚打开表时记录指针的情况表中记录情况BOF()的值RECNO()的值EOF()的值无记录.T.1.T.有记录.F.1.F.14144.表记录的修改(1)在“浏览”窗口修改表记录(2)在“编辑”窗口中修改表记录命令格式:EDIT[范围][FIELDS字段名表][FOR|WHILE条件]CHANGE[范围][FIELDS字段名表][FOR|WHILE条件]功能:这两条命令的格式、功能相同,以竖直编辑窗口显示、编辑与修改表中的记录。默认范围:Rest1515(3)用REPLACE命令直接修改表记录命令格式:REPLACE[范围]字段名1WITH表达式1[ADDITIVE][,字段名2WITH表达式2[ADDITIVE]…][FOR条件|WHILE条件]功能:不进入全屏幕编辑方式,根据命令中指定的条件和范围,用表达式的值去更新指定字段的内容。1616(1)字段名1WITH表达式1[,字段名2WITH表达式2];指定用表达式1的值来代替字段名1字段中的数据;依此类推。(2)范围、条件都缺省时,REPLACE仅对当前记录操作。(3)ADDITIVE:把对备注字段的替代内容追加到备注字段原内容的后面。ADDITIVE只对替换备注字段有用。如果省略ADDITIVE,则用表达式的值改写备注字段原有内容。例:USEXSCJMODIFYSTRUCTURE&&增加一个平均分字段REPLACE平均分WITH总分/3ALL1717REPLACE命令对应菜单方式“表”菜单中选择“替换字段(R)...”18185.表记录的追加与插入(1)菜单方式追加表记录“表”→“追加新记录”“显示”→“追加方式”(2)命令方式追加表记录命令格式:APPEND[BLANK]功能:在当前使用的表文件后面追加记录。假设该表文件已有n条记录,执行该命令后,则从第n+1条记录开始追加;若表文件尚无记录,则从第1号记录开始追加。1919【例】打开学生情况表XSDA.dbf,向其中追加空白记录,用REPLACE命令往该记录的“学号”字段填入”00051”,“姓名”字段填入”王平”,“性别”字段填入”男”。CLOSEALLUSEXSDAAPPENDBLANKREPLACE学号WITH”00051”,姓名WITH“王平”,性别WITH”男”说明:有BLANK时,不打开浏览窗口,系统自动在表末尾加一条空白记录,可配合REPLACE等命令编辑新记录。无此项时,进入编辑窗口,让用户输入空白记录,CTRL+W存盘退出。2020(3)外部追加将另一个表文件的记录追加到当前表的尾部。在实际应用中,两个表的结构应尽量保持一致。菜单方式“表”→“追加记录(A)...”→“追加来源”对话框命令方式格式:APPENDFROM表文件名|?[FIELDS字段名表]功能:将其他表(文件)中的记录加入到当前表中。2121(4)记录的插入格式:INSERT[BEFORE][BLANK]功能:在当前表、当前位置前后插入一个新记录。相关参数和选项的含义:①无任何选项时,打开“编辑”窗口,在表的当前记录之后添加一个新的记录,随后显示该记录以便用户录入数据。②含“BEFORE”选项时,新记录插入在当前记录的前面。③含“BLANK”选项时,不进入“编辑”窗口,而是自动插入一条空白记录。2222(1)逻辑删除(为记录做上删除标记)格式:DELETE[范围][FOR条件][WHILE条件]功能:对当前表文件中指定的记录做删除标记。GO7DELETEGO4DELETENEXT3LIST执行上述命令后屏幕显示结果:6.表记录的删除与恢复setdeletedonsetdeletedoff2323(2)物理删除(清除带有删除标记的记录)格式:PACK功能:省略选择项,该命令将从当前表中删除所有带删除标记的记录。说明:用PACK命令删除的记录是不可被恢复的。所以在使用PACK命令前一定要检查删除标记是否加的正确。例:PACKLIST执行上述命令后屏幕显示的结果:注意:在进行这一步操作前先备份数据2424(3)恢复带删除标记的记录格式:RECALL[范围][FOR条件][WHILE条件]功能:恢复当前表中带删除标记的记录,即去掉删除标记“*”号。当省略所有的选项时,仅恢复当前记录。RECALLALLBROWSE执行上述命令后屏幕显示的结果(4)清除所有记录格式:ZAP功能:从当前表中清除全部记录,仅保留表的结构。ZAPDELETEALL+PACK2525(1)复制任何类型文件命令格式:COPYFILE文件名1TO文件名2功能:从文件名1文件复制得文件名2文件说明:(a1)若对表进行复制,该表必须处于关闭状态。(a2)文件扩展名必须写。(a3)文件名1和文件名2都可使用通配符*和?例:CLOSEALLCOPYFILEXSDA.DBFTODA.DBFCOPYFILEXSDA.*TODA.*7.表和表结构的复制2626(2)从表复制出表或其他类型的文件COPYTO文件名[范围][FOR条件1][FIELDS字段名表]功能:将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。说明:(a1)若对表进行复制,首先要打开原表(a2)对于含有备注型字段的表,系统自动复制备注文件例:USEXSDACOPYTOXSDA22727COPYTO命令(3)新文件的类型除了表之外,还可以是系统数据格式、定界格式等文本文件或MifrosoftExcel文件。例:Closeallusexsdacopytoa1next3sdfgo1copytob1next3delimited(4)TYPE子句的格式[TYPE][SDF|XLS|DELIMITED[WITH定界符|WITHBLANK|WITHTAB]]比较a1.txt和b1.txt两个文件2828(3)复制表结构COPYSTRUCTURETO表文件名[FIELDS字段名表]功能:将当前打开的表文件结构的部分或全部复制到表文件名所制定的表结构,仅复制当前表结构,不复制其中的数据。说明:(1)表文件名指定新表结构的表文件名(2)FIELDS字段名表指定在新表中包含的字段及顺序。例:COPYSTRUCTRETOXSDAFIELDS姓名,性别,出生日期29293.4排序与索引3.4.1排序1.基本概念排序是将已建好的表记录按某一关键字规定的顺序重新排列。排序后产生一个新的表文件,但源文件不变。“关键字”是用作排序的字段,其类型可以是C型、N型和D型,不能是L型和M型。数据从小到大排列称为“升序”,从大到小排列称为“降序”,若是字符型数据,则按其内部代码的值论大小。3030【格式】SORTTO新文件名ON字段名1[/A][/C][/D][,字段名2[/A][/C][/D]...][范围][FIELDS字段名表][FOR条件][WHILE条件]【功能】对当前打开的表,按指定的字段进行排序,生成新的表文件。【说明】用作排序的字段的数据类型允许是N、C、D、L型。/A表示升序/D表示降序/C表示不区分大小写。2.排序命令3131若有多个排序字段时,先按命令中字段名1的值顺序排列,字段名1值相同则按字段名2值的顺序排列,依次类推。其中字段名1称为主关键字,这种排序也称为多重排序。注意:在setdeleon的情况下,带有删除标记的记录不参加排序
本文标题:第三章数据表基本操作
链接地址:https://www.777doc.com/doc-3277781 .html