




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章VisualFoxPro6.0数据表基本操作,2,2,设置默认目录,(1)菜单操作方式“工具”“选项”“文件位置”“默认目录”(2)命令方式SETDEFAULTTOD:vfp注意:VFP中所有命令全部使用英文标点符号,3,3,创建自由表,菜单操作方式表文件扩展名*.dbf备注型字段或通用型字段数据的输入方法(Ctrl+Home)使用备注型、通用型字段后,系统会自动生成备注文件,扩展名为.FPT,此文件不可删除Ctrl+w保存所输入的数据ctrl+q取消所输入的数据窗口分割器,4,4,命令方式【格式1】Create【格式2】Createtable(,)字符型C,数值型N,日期型D逻辑型L,备注型M,通用性G例:createtablexscj(学号c(5),课程号c(4),成绩n(6,3),5,5,VisualFoxPro6.0中的命令,VisualFoxPro6.0命令的一般格式命令动词FIELDSFOR|WHILE范围子句ALL表中全部记录RECORDn表中指定的第n条记录NEXTn从表中当前记录开始向下的n条记录REST从表中当前记录开始到最后一条记录为止的所有记录,6,6,FOR和WHILE选项的不同,(1)FOR子句是从首记录开始判断逻辑表达式的值是真还是假,而WHILE子句则是从当前记录开始判断逻辑表达式值的真假。(2)FOR子句是对整个表中所有满足条件的记录进行操作,而WHILE子句则是从当前记录开始对满足条件的连续记录进行操作,即遇到不满足条件的记录,则立即停止操作,不管其后是否还有满足条件的记录。(3)FOR和WHILE子句在某些命令中既可以单独使用,也可以同时使用,WHILE优先于FOR。,7,7,命令的使用,(1)每条命令以命令动词开头,动词后的选项先后顺序可以任意,但必须符合命令格式的规定。(2)用空格来分隔每条命令中的各个选择项。(3)分号作为续行符(;)用来表示下行仍是同一命令的一部分,这样就可以把一条长命令分成多行来写,但命令的最后一行不能以分号结尾。(4)命令动词、各短语中的关键字、函数名都可以简写为4个字符,不区分大小写。,8,8,表记录操作,1.表的打开与关闭表的打开命令格式:USE表的关闭格式:USE若表文件尚无记录,则从第1号记录开始追加。,20,20,【例】打开学生情况表XSDA.dbf,向其中追加空白记录,用REPLACE命令往该记录的“学号”字段填入”00051”,“姓名”字段填入”王平”,“性别”字段填入”男”。CLOSEALLUSEXSDAAPPENDBLANKREPLACE学号WITH”00051”,姓名WITH“王平”,性别WITH”男”,说明:有BLANK时,不打开浏览窗口,系统自动在表末尾加一条空白记录,可配合REPLACE等命令编辑新记录。无此项时,进入编辑窗口,让用户输入空白记录,CTRL+W存盘退出。,21,21,(3)外部追加将另一个表文件的记录追加到当前表的尾部。在实际应用中,两个表的结构应尽量保持一致。菜单方式“表”“追加记录(A).”“追加来源”对话框命令方式格式:APPENDFROM|?FIELDS功能:将其他表(文件)中的记录加入到当前表中。,22,22,(4)记录的插入,格式:INSERTBEFOREBLANK功能:在当前表、当前位置前后插入一个新记录。相关参数和选项的含义:无任何选项时,打开“编辑”窗口,在表的当前记录之后添加一个新的记录,随后显示该记录以便用户录入数据。含“BEFORE”选项时,新记录插入在当前记录的前面。含“BLANK”选项时,不进入“编辑”窗口,而是自动插入一条空白记录。,23,23,(1)逻辑删除(为记录做上删除标记),格式:DELETEFORWHILE,功能:对当前表文件中指定的记录做删除标记。GO7DELETEGO4DELETENEXT3LIST,执行上述命令后屏幕显示结果:,6.表记录的删除与恢复,setdeletedonsetdeletedoff,24,24,(2)物理删除(清除带有删除标记的记录),格式:PACK,功能:省略选择项,该命令将从当前表中删除所有带删除标记的记录。说明:用PACK命令删除的记录是不可被恢复的。所以在使用PACK命令前一定要检查删除标记是否加的正确。,例:PACKLIST,执行上述命令后屏幕显示的结果:,注意:在进行这一步操作前先备份数据,25,25,(3)恢复带删除标记的记录,格式:RECALLFORWHILE,功能:恢复当前表中带删除标记的记录,即去掉删除标记“*”号。当省略所有的选项时,仅恢复当前记录。,RECALLALLBROWSE,执行上述命令后屏幕显示的结果,(4)清除所有记录,格式:ZAP,功能:从当前表中清除全部记录,仅保留表的结构。ZAPDELETEALL+PACK,26,26,(1)复制任何类型文件,命令格式:COPYFILETO,功能:从文件复制得文件,说明:(a1)若对表进行复制,该表必须处于关闭状态。(a2)文件扩展名必须写。(a3)和都可使用通配符*和?,例:CLOSEALLCOPYFILEXSDA.DBFTODA.DBFCOPYFILEXSDA.*TODA.*,7.表和表结构的复制,27,27,(2)从表复制出表或其他类型的文件,COPYTO范围FORFIELDS,功能:将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。,说明:(a1)若对表进行复制,首先要打开原表(a2)对于含有备注型字段的表,系统自动复制备注文件,例:USEXSDACOPYTOXSDA2,28,28,COPYTO命令,(3)新文件的类型除了表之外,还可以是系统数据格式、定界格式等文本文件或MifrosoftExcel文件。,例:Closeallusexsdacopytoa1next3sdfgo1copytob1next3delimited,(4)TYPE子句的格式TYPESDF|XLS|DELIMITEDWITH|WITHBLANK|WITHTAB,比较a1.txt和b1.txt两个文件,29,29,(3)复制表结构,COPYSTRUCTURETOFIELDS,功能:将当前打开的表文件结构的部分或全部复制到所制定的表结构,仅复制当前表结构,不复制其中的数据。,说明:(1)指定新表结构的表文件名(2)FIELDS指定在新表中包含的字段及顺序。,例:COPYSTRUCTRETOXSDAFIELDS姓名,性别,出生日期,30,30,3.4排序与索引,3.4.1排序1基本概念排序是将已建好的表记录按某一关键字规定的顺序重新排列。排序后产生一个新的表文件,但源文件不变。“关键字”是用作排序的字段,其类型可以是C型、N型和D型,不能是L型和M型。数据从小到大排列称为“升序”,从大到小排列称为“降序”,若是字符型数据,则按其内部代码的值论大小。,31,31,【格式】SORTTOON/A/C/D,/A/C/D.FIELDSFORWHILE【功能】对当前打开的表,按指定的字段进行排序,生成新的表文件。【说明】用作排序的字段的数据类型允许是N、C、D、L型。/A表示升序/D表示降序/C表示不区分大小写。,2.排序命令,32,32,若有多个排序字段时,先按命令中的值顺序排列,值相同则按值的顺序排列,依次类推。其中称为主关键字,这种排序也称为多重排序。注意:在setdeleon的情况下,带有删除标记的记录不参加排序,显示时原表中还有此记录,但排序后的表中不存在。【例】对表XSCJ.dbf按“总分”降序排序,排序后生成的的排序文件名为XSCJ1.dbf,且只有学号和总分2个字段。USEXSCJLISTSORTTOXSCJ1ON总分/DFIELDS学号,总分,33,33,示例:CloseallClearUseXSDAListSorttoXSDA2on学号/DUseXSDA2ListSorttoXSDA3on入学分/AFIELDS学号,姓名,入学分UseXSDA3List,34,34,3.4.2索引,1.基本概念索引是按照索引关键字的值使数据表中的记录有序排列的一种技术。索引文件是由指针构成的文件,只包括索引关键字值和记录号两项内容,所有关键字值按升序或降序排列,每个关键字值对应源表文件的一条记录号,这样便确定了记录的逻辑顺序。索引文件总是依附、从属于源表文件而存在,不可单独使用。,35,记录的顺序物理顺序:表中记录的存储顺序。按记录输入的时间顺序存放。逻辑顺序:记录的处理顺序。对记录按某个(些)字段的值进行排序。,36,索引示例,学生成绩情况表,索引文件是由指针构成的文件,只包括关键字和记录号两项内容,所有关键字值按升序或降序排列,每个关键字对应原表文件的一个记录号。建立一个索引后,原记录的物理存储不发生变化。,索引文件的结构,数据库表文件结构,37,排序与索引的区别,排序:产生的表文件的扩展名为.dbf,记录的输出顺序是物理顺序(重新排列的),原表中记录的排列顺序并不发生改变,但新排序表中的记录与原表中的记录已不再一一对应。索引:产生的文件扩展名为.idx(单索引)或.cdx(复合索引),文件只包含索引关键字的值和与其对应的记录号,记录的输出是逻辑排序的,原表中记录的物理顺序并不发生改变,但产生的索引文件中的每个记录值对应原表中的一个记录号。,38,2.索引类型,索引可分为主索引、候选索引、普通索引、惟一索引4种类型。(1)主索引(PrimaryIndex)作为主索引的索引关键字,其在表中的值是惟一能够标识每个记录的值。它“强调不允许出现重复值”,是指建立索引的字段值不允许重复。一个数据表只能建一个主索引,只有数据库中的数据表才能建立和使用主索引。,(2)候选索引(CandidateIndex)候选索引也是一个不允许在指定字段和表达式中出现重复值的索引。数据库表和自由表都可以创建候选索引。一个表可以建立多个候选索引。当数据库表无主索引时,可指定一个候选索引为主索引。主索引和候选索引都存储在.CDX结构复合索引文件中,不能存储在非结构复合索引文件和单索引文件中,因为主索引和候选索引都必须与表文件同时打开和同时关闭。,39,(3)普通索引(RegularIndex)作为普通索引的索引关键字,其表中不同记录的对应值可重复,并且索引项也允许出现重复。一个表可以建立多个普通索引。数据库表和自由表均可建立普通索引。(4)惟一索引(UniqueIndex)作为惟一索引的索引关键字,其表中不同记录的对应值可重复,但在索引文件中仅保存重复值记录的第一个,即索引文件中的记录值惟一。一个表可以建立多个惟一索引,数据库表和自由表均可建立惟一索引。,40,3.索引文件的类型,(1)单索引文件(.idx)(2)复合索引文件(.cdx)“结构复合索引”文件“非结构复合索引”文件,41,(1)命令方式建立索引,建立单索引文件(.idx)INDEXONTO.IDXFORASCENDING|DESCENDINGUNIQUE|CANDIDATEADDITIVE【例1】打开XSDA.DBF表,以姓名为关键字段,建立索引文件xm.idxUSEXSDAINDEXON姓名TOxmLIST,42,4.建立索引,注意:单索引文件默认为升序ASCENDING,不可用DESCENDING降序,但数值型字段可在前面乘上一个-1降序排列。【例2】打开xsda.dbf表,按年龄的降序建立索引文件nl.idxusexsdaindexon-年龄tonllist,43,【例3】打开xsda.dbf表,按性别建立唯一索引文件XB.idx。USExsdaINDEXON性别TOXBUNIQUELIST【例4】打开xsda.dbf表,性别为第一关键字,年龄为第二关键字建立索引文件xn.idx。USExsdaINDEXON性别+str(年龄,3)TOxnList,44,若是索引表达式:若索引表达式中用到了不同类型的字段变量,应当用函数将它们转换成统一的类型。字符型+数值型字符型+STR(数值字段,长度,小数位)数值型+数值型:不用转换(将两个数值表达式的值相加后的值进行排序)字符型+日期型字符型+DTOC(日期型,1)数值型+日期型STR(数值字段,长度,小数位)+DTOC(日期型,1)数值转换成字符串函数:STR(,,)字符串转换成数值函数:VAL()日期型转换成字符型函数:DTOC()字符型转换成日期型函数:CTOD(),45,复合索引文件示例,(1)命令方式建立索引,建立结构复合索引文件(.cdx)INDEXONTAGFORASCENDING|DESCENDINGUNIQUE|CANDIDATEADDITIVE【例1】为表xsda.dbf建立结构复合索引文件。索引关键字为姓名,用xm作为普通索引标识(TAG标记),建立复合索引文件xsda.cdx。usexsdaindexon姓名tagxmlist,47,【例2】以总分为关键字,降序排序,把zf作为索引标识添加到xscj.cdx中。usexscjIndexon总分tagzfdescendingList【例3】在表XSDA.DBF的结构复合索引文件中,先按性别再按学号追加一个索引标识。USEXSDAINDEXON性别+学号TAGxbxhList,48,【例4】对表XSCJ.dbf中总分大于等于345分的记录按总分的降序建立一个单索引文件。对表XSDA.dbf中北京的学生按“姓名”字段(升序)建立结构复合文件的一个索引标识XM,索引类型为普通索引;按“性别”字段(降序)建立结构复合文件的另一个索引标识XB,索引类型为惟一索引。USEXSCJINDEXON总分TOXSCJ1FOR总分=345LISTUSEXSDAINDEXON姓名TAGXMFOR住址=”北京”LISTINDEXON性别TAGXBDESCUNIQUELIST,49,(1)命令方式建立索引,建立非结构复合索引文件(.cdx)INDEXONTAGOFFORASCENDING|DESCENDINGUNIQUE|CANDIDATEADDITIVE【例】在表文件XSDA.DBF中,先按性别再按入学日期建立一个非结构复合索引文件xhGG.CDX。USEXSDAINDEXON性别+DTOC(出生日期)TAGxbrqOFxhGG.CDX,50,(2)在表设计器中建立索引在排序选项中,选择索引方向,升序()或降序()。数值型按其值论大小,西文字符按其ASCII码值论大小,汉字等字符串按其内码论大小。在表设计器中建立的索引文件与表同名,是结构复合索引文件。,51,5打开索引文件,刚刚建立完索引文件时,该索引文件处于打开状态。在打开表文件时,结构复合索引文件随之打开。可以同时打开多个索引文件,但任何时候只能有一个索引文件起作用。当打开多个索引文件时,(复合索引文件中的多个子索引同时打开),此时只有一个索引起作用,该索引称是主控索引。,52,打开单索引文件和非结构复合索引文件,命令格式1:SETINDEXTOADDITIVE命令格式2:USEINDEX功能:打开当前表的一个或多个索引文件。(1):指定要打开的一个或多个索引文件,多个索引文件之间要用逗号分隔,第一个索引文件自动成为主控索引文件。(2)ADDITIVE:若缺省该项,则在用本命令打开索引文件的同时,除结构复合索引文件之外的其他索引文件均被关闭。若含此项,表示不关闭以前打开的索引文件。,53,【例】单索引文件使用方法示例。usexsdasetindextoxm,xn若使用可选项,则只对中的各表达式累加求和,数值型字段之间或表达式之间用逗号分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆委托代办合同范本
- 重型叉车买卖合同范本
- 美发沙龙劳动合同范本
- 违法解除劳动合同协议
- 门面租赁免责合同范本
- 违法建筑拆除合同范本
- 销售管理公司合同范本
- 电表工程个人协议合同
- 自动收货代理合同范本
- 配电安装合同补充协议
- 市政污水管道施工组织设计
- 移动电源的安全使用与应急处理措施
- 服装陈列课件
- 产品认证控制程序
- 新教材-人教A版高中数学选择性必修第一册-第一章-空间向量与立体几何-知识点及解题方法提炼汇总
- 国家临床版20肿瘤形态学编码(M码)
- 安全员之江苏省C1证(机械安全员)复习考试资料汇编
- 国开电大组织行为学任务四调查报告
- 施工现场安全监理危险源清单一览表
- GB/T 233-2000金属材料顶锻试验方法
- 颈椎DR摄影技术-
评论
0/150
提交评论