VFP命令1.doc_第1页
VFP命令1.doc_第2页
VFP命令1.doc_第3页
VFP命令1.doc_第4页
VFP命令1.doc_第5页
已阅读5页,还剩40页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、数据表的浏览和定位操作1、打开命令USE 表文件名EXCLUSIVE, SHAREDEXCLUSIVE:以独占的方式打开SHARED:以共享的方式打开2、显示命令LIST (DISPLAY) 显示表结构 LIST(DISPLAY) STRUCTURE其中:LIST-连续显示;DISPLAY-分页显示例:打开“学生表”, 显示表结构use D:学生成绩管理系统学生表.dbflist structure 【显示表结构】3、浏览命令BROWSE例:打开学生表,浏览表中的记录use D:学生成绩管理系统学生表.dbfbrowse4、有选择的浏览记录(筛选)(1)菜单方式打开表的浏览窗口,选择“表属性”,在对话框中输入筛选条件(2)命令方式格式1:SET FILTER TO 条件表达式功能:设置数据过滤器,使得数据表中只有满足指定条件的记录才被访问。例1:用命令浏览学生表中所有女生的记录。use D:学生成绩管理系统学生表.dbfSET FILTER TO 性别=女BROWSE例2、取消例1中的记录筛选,浏览学生表中所有学生的记录use D:学生成绩管理系统学生表.dbfSET FILTER TO BROWSE格式2:SET FIELDS TO ALL字段名功能:设置数据过滤器,使得数据表中只有指定的字段才被访问。例1:用命令方式浏览学生表中的学号、姓名、专业3个字段。use D:学生成绩管理系统学生表.dbfSET FIELDS TO 学号,姓名,专业BROWSE 例2、取消例1中对字段访问的限制,浏览学生表中所有字段内容use D:学生成绩管理系统学生表.dbfSET FIELDS TO ALLBROWSE 5.记录的定位TOP:记录的首记录BOTTOM:记录的尾记录BOF(BEGIN OF FILE):首记录之前有一个文件起始标识EOF(END OF FILE):尾记录之后有一个文件结束标识表-转到记录-定位:指向满足条件的第一条记录(1)菜单方式打开表,单击浏览,选择“表转到记录”命令(2)命令方式指针的绝对移动方式格式:GO RECORD TOPBOTTOM例:用命令的方式定位学生表中的第一条、第六条记录use D:学生成绩管理系统学生表.dbfGO TOP DISPLAYGO 6DISPLAY指针的相对移动方式SKIP +-例:打开学生表,用SKIP命令移动记录指针use D:学生成绩管理系统学生表.dbfGO 2DISPLAYSKIP 2DISPLAY SKIP -3DISPLAY条件定位命令LOCATE 范围FOR while FOUND()函数:测试是否找到满足条件的记录。T OR FFOR表示在指定范围内,定位满足条件的第一条记录while :表示仅当条件满足时才进行记录的定位。如果指定范围内的第一条记录就不满足条件,则立即结束操作,不管后面是否有符合条件的记录。例:打开学生表,用LOCATE命令定位所有男生的记录use D:学生成绩管理系统学生表.dbfLOCATE FOR 性别=男?FOUND()DISPLAY 【显示第一条记录】继续执行,显示后面的记录,用命令:CONTINUEDISPLAY二、数据表的维护操作1、表结构修改(1)菜单方式在项目管理器中选择表,选择“修改”命令(2)命令方式use D:学生成绩管理系统学生表.dbfMODIFY STRUCTURE 2、添加记录(1)菜单方式选择表,单击“浏览”,选择“表追加新记录”(一次只能追加一条记录)或“显示追加方式”(一次可以追加多条记录)(2) 命令方式格式1:APPEND功能:在当前数据表的尾部添加记录。格式2:INSERT BEFORE功能:在当前数据表的某个记录之前或之后插入一条记录例:在第三条和第四条记录之间插入一条新记录use D:学生成绩管理系统学生表.dbfGO 3INSERT 或: GO 4INSERT BEFORE 3、从其他的文件中追加记录(1)菜单方式选择“文件打开”,打开“新表”,再从“显示”菜单中选择“浏览或编辑”,打开浏览窗口;选择“表追加记录”命令,在出现的“追加来源”对话框中进行操作。例:从学生表中选择“学号,姓名,专业”三个字段及所有学生记录,追加到新表S中。4、编辑记录在浏览窗口中编辑记录(1)菜单方式打开项目管理器,选择表,单击“浏览”,定位要修改的记录进行修改。(2)命令方式格式:BROWSE FIELDSFREEZENOAPPENDNOMODIFYFOR FIELDS:指定在浏览窗口中显示的字段FREEZE:使光标冻结在某字段上,仅能修改该字段,其他字段仅能浏览不可修改。NOAPPEND:禁止向数据表中追加记录NOMODIFY:禁止修改或删除数据表中的记录。例:用命令方式打开学生表,显示并修改“学号,姓名”2个字段。use D:学生成绩管理系统学生表.dbfBROWSE FIELDS 学号,姓名批量修改记录(1)菜单方式打开数据表,在浏览状态下,选择“表替换字段”(2)命令方式REPLACE范围字段名 WITH例:打开学生表,将学生的学号前加上“S”use D:学生成绩管理系统学生表.dbfREPLACE 学号 WITH S+学号LIST 学号,姓名,专业SUBSTR(字符表达式):取字符串函数?SUBSTR(学号,2,7)5、 删除记录(1)逻辑删除:只是在记录上加上删除标记,并没有从数据表中将其清除,需要的时候还可以恢复;三种逻辑删除方式:A、鼠标方式:B、菜单方式:表-删除记录C、命令方式:DELETE 范围 FOR 例:use D:学生成绩管理系统学生表.dbfGO BOTTOM DELETEDISPLAY或:DELETE FOR 专业=电子商务逻辑删除记录的恢复:A、鼠标方式:B、菜单方式:表-恢复记录C、命令方式:RECALL范围 FOR 例:打开学生表,将电子商务专业的记录逻辑删除use D:学生成绩管理系统学生表.dbfDELETE FOR 专业=电子商务LIST RECALL ALLLIST (2)物理删除:真正从表文件中清除记录,不可再恢复。第一种情况:将带有逻辑删除标记的记录物理删除A、菜单方式:“表-彻底删除”B、命令方式:PACK例:打开学生表,先将最后一条记录逻辑删除,再将其彻底删除use D:学生成绩管理系统学生表.dbfGO BOTTOMDELETEDISPLAYPACKDISPLAY第二种情况:记录的一次性删除所有记录命令方式:ZAP功能:将数据表中的记录一次性彻底删除,只保留表的结构。例:用ZAP命令删除“STUDENT”中的所有记录。use D:学生成绩管理系统学生表.dbf?reccount()zap?reccount()6、表数据文件的复制(1)菜单方式:选择“文件-打开”命令,找到要复制的表文件;选择“文件-导出”命令,在对话框:“到”的空白处输入新的表的名称如果复制整个表,则直接单击确定,若复制部分内容,则在导出选项中进行选择。(2) 命令方式COPY TO 范围FIELDS 例:将学生表中的电子商务专业的记录复制到新表“STUDENT”中use D:学生成绩管理系统学生表.dbfCOPY TO D:学生成绩管理系统STUDENT.dbf FOR 专业=“电子商务”use D:学生成绩管理系统STUDENT.dbfLIST数据表结构的复制COPY STRUCTURE 范围FIELDS 例:利用学生表的结构,建立一个新表S,其中包括学号、姓名、专业字段use D:学生成绩管理系统学生表.dbfCOPY STRUCTURE TO D:学生成绩管理系统S.dbf FIELDS 学号,姓名,专业use D:学生成绩管理系统S.dbfLIST STRUCTURE表重命名RENAME TO 三、数据表排序和索引1、物理顺序:记录在数据表中是按照输入时的顺序排列的,称为物理顺序,VFP用记录号来标识。2、数据表的排序(1)数据表的排序就是把数据表中的记录按照某个字段值的大小顺序重新排列,作为排序依据的字段称为“关键字”(2)在VFP中,数据大小的比较规则:数值型数据按其数值的大小进行比较;字符型数据按其机内码顺序比较,英文一般为ASCII值的大小,汉字一般为汉字国标码的值的大小;日期型数据按年、月、日的顺序比较。(3)命令格式SORT TO ON/A 或/DFOR 例:打开学生表,按照“专业”升序排序,专业相同者,按“学号”降序排列,排序后文件以“学生排序”为名,存放在 D:学生成绩管理系统学生排序.dbfuse D:学生成绩管理系统学生表.dbfsort to D:学生成绩管理系统学生排序.dbf on 专业,学号/Duse D:学生成绩管理系统学生排序.dbfDISPLAY ALL(4)索引排序虽然实现了数据记录的有序排列,但排序结果建立了许多内容相同而只是排列次序不同的数据表文件,造成了大量的数据冗余,浪费了存储空间。而且,对数据表进行增、减、修改操作,会使数据表中的记录变的无序,必须再用排序命令对数据表重新排序,非常不便。应用索引可以解决上述问题。A、 索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。索引文件和表文件分别存储,不改变表中记录的物理顺序。创建索引使创建了一个由指向表文件记录的指针构成的文件。B、索引类型独立索引、结构复合索引、非结构复合索引C、索引关键字:指在数据表中建立索引用的字段或字段表达式,可以是表中的单个字段,也可以是表中几个字段组成的表达式。D、主索引:指在指定字段或字段表达式中不允许出现重复值的索引,要求该索引关键字的值必须唯一,不可重复。例如:学生表中的学号字段。一个数据表只能有一个主索引,自由表可以没有主索引。候选索引:与主索引具有相同的特性,当某个表已经建立了一个主索引时,可以将表中的其他字段或字段表达式的值唯一的索引字段设置为候选索引。例如:在课程表中,将课程号建立主索引,每个课程名称也不相同,则可以将课程名称建立候选索引。在数据表和自由表中可以建立多个候选索引。唯一索引:指索引文件对每个特定的关键字只存储一次,而忽略后面出现重复值的记录。例如:在学生表中如果为性别建立一个唯一索引,结果在索引文件中只存储两条记录,即一个男生记录和一个女生记录。在数据表和自由表中可以建立多个唯一索引。普通索引:指索引字段的数据允许出现重复值,并索引项中也允许出现重复值。例如:在学生表中为专业字段建立普通索引。在数据表和自由表中可以建立多个普通索引。E、建立索引(1)菜单方式表设计器-字段选项卡(选择某个字段设置升序或降序)-索引选项卡例如:在学生表中用专业和性别两个字段组成一个索引项时,相应的索引表达式为“专业+性别”,含义:先按专业索引,当专业索引相同时,再按性别索引。如果用专业和出生日期两个字段组成一个索引项时,表达式为“专业+DTOC(出生日期)”-转换为字符型(2)命令方式INDEX ON TAG注:UNIQUE表示唯一索引、CANDIDATE表示候选索引。不带这两个选项,表示普通索引。例如:用INDEX命令为学生表建立复合索引,包含4个索引项:学号(候选索引);性别(普通索引);专业_出生日期(普通索引);专业_性别(普通索引)use D:学生成绩管理系统学生表.dbfINDEX ON 学号TAG 学号 CANDIDATEINDEX ON 性别 TAG 性别INDEX ON 专业+性别 TAG 专业_性别INDEX ON 专业+DTOC(出生日期) TAG 专业_出生日期四、数据表的检索和统计数据表建立后,可以通过BROWSE, DISPLAY, LIST来完成查询,但速度很慢。使用FIND和SEEK命令等专门数据表查询命令,实现快速记录指针定位1、FIND命令FIND 功能:在索引文件中找到索引关键字值与指定字符串的值相符合的第一条记录并将指针指向它。注:(1)只有对已经建立索引的数据表文件才能使用该命令,并且索引文件的关键字必须是要查找的字段。(2)该命令只能查找字符型和数值型的索引关键字(3)当检索到匹配的记录时,记录指针指向该记录。可以用FOUND()进行测试,找到的话,值为.T.,EOF()的函数返回值为.F.,还可以用RECNO()函数返回对应的记录号。例:在学生表中按学号建立索引,用FIND命令进行查询。use D:学生成绩管理系统学生表.dbfSET ORDER TO TAG 学号FIND 2009102?RECNO()DISPLAY或:X1=2009102FIND &X1?RECNO()DISPLAY2、SEEK命令格式:SEEKordertag功能:在索引文件中查找关键字内容与表达式相同的第一条记录。注:(1)只有对已经建立索引的数据表文件才能使用该命令,并且索引文件的关键字必须是要查找的字段。(2)该命令可以处理任何类型的关键字表达式。当查找字符型常量时,需要使用字符串定界符。(3)ORDER选项指定按复合索引中的哪个索引项定位。例:在学生表中按性别以及专业_性别建立索引,用SEEK命令进行查询。use D:学生成绩管理系统学生表.dbfSEEK 女 ORDER 性别DISPLAYSEEK ORDER TO TAG 专业_性别SEEK 电子商务+男?FOUND()DISPLAY五、数据表统计与汇总1、数据表统计(1)计数命令格式:COUNT范围FOR to 例:统计学生表中所有学生人数use D:学生成绩管理系统学生表.dbfCOUNT TO ALL_STUDENT?学生总人数为, ALL_STUDENT(2)求和命令格式:SUMto 功能:对当前数据表中满足条件的记录根据指定的数值型字段表达式按列求和。例:统计成绩表中学号为2009001的学生各门课程的总成绩。use D:学生成绩管理系统成绩表.dbfSUM 成绩 FOR 学号=2009001(3)求平均值命令格式:AVERAGEto 例:统计成绩表中学号为2009001的学生的平均分。use D:学生成绩管理系统学生表.dbfAVERAGE 成绩 FOR 学号=20090012、数据表的分类汇总又称同类项合并或分类求和,是对数据表中的数值型字段按照排序或索引关键字值的不同分类,按组分别求和。格式:TOTAL ON TO FIELDSFOR 功能:在当前数据表的指定范围内,以汇总关键字的值分类,对满足条件的记录按照指定的数值字段求和,并将结果保存在新的表中。注:在使用TOTAL命令前,当前表必须按进行排序或索引。例:对成绩表中的成绩按学号进行分类汇总。use D:学生成绩管理系统成绩表.dbfINDEX ON 学号 TAG 学号TOTAL ON 学号 TO D:学生成绩管理系统成绩汇总.dbfuse D:学生成绩管理系统成绩汇总.dbfLIST第五章 查询和视图查询和视图检索和操作数据库的两个基本手段,都可以从一个或多个相关联的数据表中提取有用的信息。查询可以根据表或视图定义,它不依赖数据库而独立存在,可以显示但不能更新由查询检索到的数据。视图兼有表和查询的特点,它可以更改数据源中的数据,但不能独立存在,必须依赖某个数据库。视图分为本地视图和远程视图。前者使用VFP的SQL语法从视图或表中选择信息;后者使用远程SQL语法从远程ODBC(Open Database Connectivity, 开放数据库互连)数据源表中选择信息。第六章 结构化程序设计对于一些简单的、不需要重复执行的操作,可以通过菜单方式或在命令窗口逐条输入命令来执行,这种人机交互的工作方式简单易行,可以随时看到结果。对于比较复杂的任务,更多的使用程序执行方式,将多条命令编成一个程序放在磁盘上,通过运行改程序,连续自动执行一系列操作,完成一项特定的任务。VFP同时支持面向过程程序设计(结构化程序设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论