收藏 分销(赏)

Visual-FoxPro-6.0编程入门PPT.ppt

上传人:a199****6536 文档编号:10231481 上传时间:2025-04-28 格式:PPT 页数:188 大小:3.34MB
下载 相关 举报
Visual-FoxPro-6.0编程入门PPT.ppt_第1页
第1页 / 共188页
Visual-FoxPro-6.0编程入门PPT.ppt_第2页
第2页 / 共188页
点击查看更多>>
资源描述
,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,1,第,1-7,章,2,学习,Visual FoxPro,的两个重要部分:,1.,命令的使用,2.,集成开发环境的操作,3,第,1,章,4,知识点:,Visual FoxPro,及其发展简史,数据管理技术,数据库系统的组成,数据模型,关系的基本运算,Visual FoxPro6.0,的数据组织结构,第,1,章,VFP,与数据库基本概念,5,1.1 Visual FoxPro,概述,Visual FoxPro,的发展经历了,dBASE,、,FoxBASE,、,FoxPro,和,Visual FoxPro,等,4,个主要发展阶段,dBASE II,1982,FoxBASE,1984,FoxPro,1989,Visual FoxPro 3.0,1995,Visual FoxPro 6.0,1998,6,1.2,数据管理技术,人工管理 文件系统 数据库管理,1.2.1,数据管理技术的发展,7,1.2.2,数据库系统的组成,数据库,数据库管理系统,计算机系统,用户,8,1.2.2,数据库系统的组成,数据库,数据库(,Data Base,,,DB,)是统一管理的相关数据的集合。这些数据以一定的结构存放在磁盘中。其基本特点是:数据能够为各种用户共享、具有可控制的冗余度、数据对程序的独立性以及由数据库管理系统统一管理和控制等。,数据库管理系统,数据库管理系统(,database management system,,,DBMS,)是在操作系统支持下工作的管理数据的软件,是数据库系统的核心。它能够为用户或应用程序提供访问数据库的方法,包括数据库的建立、更新、查询、统计、显示、打印及各种数据控制。,9,1.2.2,数据库系统的组成,计算机系统,计算机系统(,computer system,)是指用于数据库管理的计算机硬件、软件系统。,用户,即与数据库系统打交道的人员。通常有,3,种人员:,对数据库系统进行日常维护的数据库管理员。,用数据操作语言和高级语言编制应用程序的程序员。,使用数据库中数据的人员。,10,1.3,数据模型,1.3.1,层次模型,11,1.3,数据模型,1.3.2,网状模型,12,1.3,数据模型,1.3.3,关系模型,13,1.3.3,关系模型,1.,关系术语,关系,:二维表,,Visual FoxPro,的一个表文件。,元组,:表中一行,记录。,属性,:表中的一列,,字段。,分量,:元组中一个属性值。,域,:表中属性的取值范围。,关键字,关键字段、码,:表中具有惟一标识的属性。,关系模式,:对关系的描述,表的结构。,14,1.4,关系的基本运算,选择:从关系中找出满足条件的记录。(行),投影:从关系中选择若干属性组成新的关系。(列),连接:将两个关系通过公共属性名连接成一个新的关系。,15,1.5 VFP,的数据组织结构,从数据管理角度看,,VFP,数据组织的层次由大到小依次是:数据库、表、记录和字段。,1.,字段,2.,记录,3.,表,4.,数据库,16,第,2,章,17,第,2,章 初识,Visual FoxPro6.0,知识点:,Visual FoxPro6.0,用户界面,菜单系统,命令窗口,Visual FoxPro6.0,的设计工具,VFP,的系统功能,18,2.1 Visual FoxPro,启动与退出,启动方法,:,在桌面上双击,“,Visual FoxPro6.0,”,图标。,在,Windows,的,“,开始,”,菜单的程序列表中选择,Visual FoxPro6.0,项。,通过,Windows,的,“,资源管理器,”,或,“,我的电脑,”,,找到,Visual FoxPro6.0,程序并启动。,19,2.1 Visual FoxPro,启动与退出,退出,VFP,,可以使用下述方法之一:,在命令窗口输入,“,QUIT,”,并按回车键。,在,“,文件,”,菜单中选择,“,退出,”,项。,直接按组合键,Alt+F4,。,用鼠标单击,VFP,主界面标题栏最右边的关闭窗口按钮。,20,2.2 Visual FoxPro,用户界面,2.2.1,窗口,命令窗口,命令窗口是一个标题为“命令”(,Command,)的小窗口。它的主要作用是输入并显示,VFP,命令,实现与用户的单步交互操作。,程序主窗口,即启动,VFP,后屏幕上出现的,VFP,主界面。程序主窗口由标题栏、菜单栏、工具栏、工作区和状态栏组成。主要用于显示,VFP,的处理结果,其中状态栏用于显示当前的操作状态。,21,2.2 Visual FoxPro,用户界面,全屏幕编辑窗口,全屏幕编辑窗口是一种能够实现数据或过程代码编辑操作的环境,一般又分为表数据编辑窗口、表结构编辑窗口和过程编辑窗口。,对话框,对话框是一类特殊窗口,仅当所执行的菜单项后带,“,”,符号时才会出现。借助于对话框,用户可以选择所需要的数据或操作,而,VFP,则利用对话框引导用户正确地操作,或者向用户提供警告、提示信息等。,22,2.2 Visual FoxPro,用户界面,2.2.2,菜单,菜单是一种用选项来组织命令的重要工具。,VFP,使用的菜单有:下拉式菜单和快捷菜单。,2.2.3,工具栏,工具栏是一种用图标的方式组织命令的工具。,Visual FoxPro,包含的工具栏有,11,种:常用、报表控件、报表设计器、表单控件、表单设计器、布局、查询设计器、调色板、打印预览、视图设计器和数据库设计器。默认情况只有“常用”工具栏可见。,23,2.3,辅助设计工具,2.3.1,设计器,设计器是辅助用户创建文件的工具。例如辅助用户创建表、数据库、表单、查询、报表等文件来管理数据。设计器主要包括表设计器、数据库设计器、菜单设计器、表单设计器、查询设计器、视图设计器等。,2.3.2,生成器,生成器是,Visual FoxPro6.0,提供的一种可视化辅助工具。它用于简化、修改表单及其他复杂控件的过程。每个生成器都有一系列选项卡组成,允许用户访问并设置所选对象的属性。,24,2.3,辅助设计工具,2.3.3,向导,向导是帮助用户迅速完成诸如建立表单和建立查询等常用任务的交互式工具,它根据已有的一些实例,通过一系列的向导窗口和人机对话,完成一个任务。,2.3.4,项目管理器,项目管理器是,Visual FoxPro6.0,提供的一个重要工具,它使用简洁的可视化的方法对自由表、文件、数据库、报表和查询等进行组织和管理,是应用程序的控制中心。当开发一个应用系统时,可用项目管理器来跟踪所有相关文件。,25,2.4.1,VFP,的工作方式,界面操作工作方式,命令操作,程序操作,2.4 VFP,的系统功能,26,2.4 VFP,的系统功能,2.4.2 VFP,菜单的约定及其使用,VFP,主菜单,启动,VFP6.0,后,窗口标题栏的下部就是菜单栏,如图,2-3,所示。,在菜单栏上显示的是,VFP,主菜单的默认项,名称有:文件、编辑、显示、格式、工具、程序、窗口和帮助。每个菜单名都对应自己的一组下拉式菜单。,27,2.4.2 VFP,菜单的约定及其使用,菜单的约定,子菜单项后带,“,”,符号:执行这样的菜单,会弹出一个对话框。,子菜单项的颜色为灰色:当菜单项呈灰色时,表示当前状态下不可以使用。,子菜单项后带黑三角,“”,符号:表示它有下级子菜单,当鼠标指向该菜单项时,自动出现下级子菜单。,子菜单项前有钩,“,”,:是选择标记。当菜单栏前有该符号时,表示该命令有效。若再选择该命令,则删除该标记,表示该命令不再有效,。,28,2.4.3,命令的一般格式,1,、命令格式,VFP,可以执行的命令由,“,命令动词,+,命令子句,”,组成,常用形式:,命令动词,FOR WHILE FIELDS OFF,2,、,命令使用注意事项,29,2.5,用,VFP,组织数据的例子,2.5.1,设置默认目录,利用,“,工具,/,选项,”,菜单,用,SET,命令,例如,,SET DEFAULT TO D,:,JIANG,30,2.5.2,创建表文件的例子,1,、设计表结构,31,2.5,用,VFP,组织数据的例子,2.5.2,创建表文件的例子,2,、,建立表结构,3,、填写数据,2.5.3,表文件的保存,/,关闭、打开与查看,“,文件,/,保存,”,“,文件,/,关闭,”,“,文件,/,打开,”,“,显示,/,浏览,”,32,第,3,章,33,第,3,章,Visual FoxPro6.0,应用基础,知识点:,数据类型,常量与变量,运算符与表达式,常用函数,VFP,常用文件,34,3.1,数据类型,VFP6.0,提供了,14,种数据类型,分别是:数值型、字符型、逻辑型、日期型、通用型、备注型、货币型、日期时间型、整型、双精度型、浮点型、二进制字符型、二进制备注型、对象型。,35,3.1,数据类型,数值型数据(,N,),:由数字,09,、一个符号(,+,或,-,)和一个小数点组成。,字符型数据(,C,),:由字母、数字空格等一切可打印的,ASCII,字符组成。,逻辑型数据(,L,),:,.T.or .F.,(,.Y.or .N.,)。,日期型数据(,D,),:可用,set date,,,set century,,,set mark to,来设置日期格式。,日期时间型数据(,T,),:,用于保存日期、时间或二者兼有的数据。,例,1,:,tMydatetime=2005-9-5 11:00 a,,,tMytimeonly=11:00 a,货币型数据(,Y,),:加符号,$,。,例,2,:,money1,$1000.5,,,money2,$1234.56789,。,双精度型数据(,N,),:提高更高的精度,占用,8,个字节。,浮点型数据(,N,),:与数值型数据相同,以提供与其它软件和系统的兼容性。,整数型数据(,N,),:不包含小数,以二进制形式存储,占,4,个字节。,通用型数据(,G,),:存储,OLE,对象,长度为,4,个字节。,备注型数据(,M,),:存放较多内容的文本信息(,.FPT,),长度,4,个字节。,二进制字符型数据(,C,),:与字符型数据类似,以二进制存储。,二进制备注型数据(,M,),:与备注型数据类似,以二进制存储。,对象型数据(,O,):,Windows,应用程序中生成的对象。如,VFP,的主窗口对象为,_SCREEN,。,36,3.2,常量与变量,3.2.1,常量,常量是以直观的数据形态和意义直接出现的数据,在程序执行过程中常量的值是固定不变的。,3.2.2,变量,在程序执行过程中可以变化的数据项,称为变量。,37,3.2.1,常量,数值型常量,数值型常量可以是整数和实数,用于表示一个数量的大小。例如,3.14,,,1.23E+5,。,数值型常量的长度包括整数位数、小数位数和小数点。,38,3.2.1,常量,字符型常量,字符型常量是用定界符界定的一串字符,又称为字符串。可用的定界符有三对,即单引号,、双引号,“”,、方括号,等。例如,,123,、,计算机,、,”,A,”,都是书写正确的字符型常量。,39,3.2.1,常量,逻辑型常量,逻辑型常量属于逻辑型数据,只有两个值:逻辑真和逻辑假。逻辑真常量用,.T.,、,.t.,、,.Y.,、,.y.,表示;逻辑假常量用,.F.,、,.f.,、,.N.,、,.n.,表示。如果书写时少了字符左右的两点,就会被计算机当作变量。,40,3.2.1,常量,日期型常量,日期型常量必须用一对花括号将数据括起来,,例如,,11/05/1972,和,1972-05-11,,均表示,“,1972,年,5,月,11,日,”,这一日期数据。也可以用,CTOD,(,”,11/05/72,”,)来表示,意思是把字符型常量,”,11/05/72,”,转换成日期型常量。空白的日期型常量用,表示。,41,3.2.1,常量,日期时间型常量,日期时间型常量与日期型常量类似,也必须用一对花括号将数据括起来,只是在日期数据后面加上“时,:,分,:,秒”即可。例如,,08/29/1987 05:26:30,表示,1987,年,8,月,29,日,5,时,26,分,30,秒。,货币型常量,货币型常量用来表示货币值,使用时,在数值前加上货币符号。,42,3.2.2,变量,变量分类,43,3.2.2,变量,变量的命名规则,变量名是用来标识变量的符号,最多,10,个字符,可以由字母,数字和嵌在中间的下划线组成。,44,3.2.2,变量,内存变量定义与操作,赋值命令,命令,“,=,”,格式,:,=,功能:计算赋值号右边表达式的值(一个数据),然后将这个值赋给左边的内存变量。它具有计算和赋值的双重功能。,45,3.2.2,变量,命令,“,STORE,”,格式:,STORE TO ,功能:计算,的值,然后将结果分别赋给变量表中的所有变量。所谓,表示有多个变量,变量与变量之间用逗号,“,,,”,分隔。注意,,“,,,”,为英文标点。,46,3.2.2,变量,内存变量的显示,格式:,DISPLAY/LIST MEMORY LIKE TO PRINTERPROMPT/TO FILE,功能:显示当前内存变量的定义。,内存变量的清除,RELEASE,格式,1,:,RELEASE,格式,2,:,RELEASE ALL LIKE/EXCEPT,功能:从内存中清除指定的变量。,47,3.2.2,变量,保存与恢复,内存变量的保存,格式:,SAVE TO ALLLIKE/EXCEPT,功能:将所指定的内存变量存入内存变量文件中。,内存变量的恢复,格式:,RESTORE FROM ADDITIVE,功能:将内存变量文件中的所有内存变量恢复到内存中去。,48,3.2.2,变量,数组,数组在使用之前必须用命令来声明,包括数组名和数组的大小。,数组的声明,格式:,DIMENSION/,DECLARE,(,),(,),功能:用于定义一个或多个数组。,49,数组,几点说明:,数组名后面的括号,既可以用圆括号也可以用方括号。,定义数组后,系统自动将每个数组元素定义为逻辑型,初值为逻辑假,.F.,。,数组中的元素位置是有序而固定的。,给数组变量赋值时,如果未指明下标(即未指明第几个元素),则对该数组中所有元素赋同一个值。,数组定义后,数组元素可以重新定义,定义方法与内存变量相同。数组中各个元素的数据类型可以不同。,在引用数组时,如果未指明下标,则引用该数组的第一个元素。,内存变量和数组不能重名。,使用数组时,下标不能超界。,50,3.2.2,变量,5.,系统内存变量,(,1,)默认属性是,public,属性,(,2,)保持固有信息,通过一个前导下划线识别,(,3,)类型固定(数值型,字符型,逻辑型,日期型,对象型),51,3.3,运算符与表达式,表达式可以一个常量、变量、函数,或者由这些元素由运算符连接起来的有意义的式子。,运算符是,描述各种不同运算的符号,有四种类型:算术运算符、字符运算符、关系运算符和逻辑运算符。用在两个数据之间的运算符称为二目运算符,用在单个数据上的运算符称为单目运算符。,52,3.3,运算符与表达式,数值型表达式,(,,,/,,,%,,,(),字符型表达式,(,,,),日期型表达式,(1),两个日期型数据可以相减,结果为数值型,(2),日期型数据可加上一个整数,结果为日期型,(3),日期型数据可减去一个整数,结果为日期型,关系型表达式,(,,,$,,,),逻辑型表达式,(NOT ,AND,,,OR),计算表达式命令,(,),53,3.4,标准函数,基本形式,函数名,(),数值函数,字符型函数,测试函数,日期时间函数,数据库和表函数,数组函数,其他函数,54,3.4.1,一般函数,1,、,数值函数,(1),绝对值函数,ABS(),(2),平方根函数,SQRT(),(3),指数函数,EXP(),取模函数,MOD(),(4),对数函数,LOG(),(5),取整函数,INT(),55,3.4.1,一般函数,1,、,数值函数,(6),四舍五入函数,ROUND(),(7),最大值函数,MAX(),(8),最小值函数,MIN(),(9),函数,PI,(),正弦函数,SIN,(),56,字符函数,字符重复函数,REPLICATE(),查找子串函数,AT(),截取子串函数,SUBSTR(,),左子串函数,LEFT(,),右子串函数,RIGHT(,),字符串修改函数,STUFF(,),57,字符函数,删除空格函数,删除左空格函数,LTRIM(,),删除右空格函数,RTRIM(,),删除前后空格函数,ALLTRIM(),空格函数,SPACE(),58,字符函数,宏替换函数,&,表达式计算函数,EVALUATE(,),名表达式,(),59,日期时间函数,系统时间函数,time(),日期函数,date(),日期时间函数,date time(),年份、月份、日期,和星期,函数,year,month,day,dow/cdow,时、分、秒函数,Hour,Minute,sec,60,日期时间函数,系统时间函数,TIME,(),系统日期函数,DATE,(),年份函数,YEAR(),月份函数,MONTH,(),星期函数,DOW()/CDOW(),日期函数,DAY(),61,转换函数,字母小写转大写函数,UPPER,(),字母大写转小写函数,LOWER,(),字符转日期函数,CTOD,(),日期转字符函数,DTOC(),数值型转换成字符型函数,STR(),字符型转换成数值型函数,VAL(),字符转换成,ASCII,码函数,ASC(),ASCII,码转换成字符函数,CHR(),62,测试函数,字符串长度函数,LEN(),数据类型测试函数,TYPE(),条件函数,IIF,(),文件测试函数,FILE(),自定义对话框函数,MESSAGEBOX(),63,3.4.2,数据库函数,字段数函数,FCOUNT,(),字段名函数,FIELDS,(),表头测试函数,BOF(),表尾测试函数,EOF(),记录号测试函数,RECNO(),记录数测试函数,RECCOUNT(),表文件名函数,DBF(),查询结果测试函数,FOUND(),64,3.5 Visual FoxPro6.0,常用文件类型,3.5.1,数据文件,表文件,数据库文件,索引文件,查询文件,65,3.5.2,文档文件,表单文件,报表文件,菜单文件,项目文件,3.5.3,程序文件,源程序文件,编译后的程序文件,应用程序文件,66,第,4,章,67,第,4,章,自由表的建立与操作,知识点:,表的设计与实现,表结构的修改,表数据的编辑,表数据的浏览与输出,记录定位,表内容的统计计算,VFP,的文件管理,68,第,4,章,自由表的建立与操作,4.1.1,设计表结构,VFP,系统对表文件的规定,注意事项,学生管理中的表结构设计,69,第,4,章,自由表的建立与操作,4.1.2,建立表结构,菜单方式,“,文件,/,新建,”,命令方式,格式:,CREATE/,?,功能:在当前目录(文件夹)中建立一个新表文件。,70,4.2,表结构的查看与修改,4.2.1,显示表结构,格式:,DISPLAY/LIST STRUCTURE IN/,功能:显示当前表或指定工作区已打开表的结构。,4.2.2,修改表结构,菜单方式,命令方式,格式:,MODIFY STRUCTURE,功能:用表设计器修改当前表结构。,71,4.2.3,复制表结构,格式:,COPY STURCTURE TO FIELDS,功能:将当前表文件的结构复制到指定的新的文件中。,例如,由当前表文件,”,学生,DBF,”,创建,XS.dbf,,结构与学生完全相同。,在命令窗口输入下述命令序列:,USE,学生,COPY STRUCTURE TO XS,72,4.3,表数据的输入与输出,4.3.1,表文件的打开与关闭,1,、,表文件的打开,菜单方式,单击菜单栏上的“文件,/,打开”;或单击常用工具栏上,按钮。,命令方式,格式:,USE ,功能:在当前工作区打开指定的表文件。,73,4.3.1,表文件的打开与关闭,2,、,关闭表文件,菜单方式,单击菜单栏上的,“,窗口,/,数据工作期,”,,弹出,“,数据工作期,”,对话框,74,关闭表文件,命令方式,可根据情况选择使用下述方法之一。,执行命令,USE,。立即关闭当前工作区中打开的表。,执行命令,CLOSE TABLES,。关闭所有工作区中打开的自由表。,执行命令,CLEAR ALL,。清除所有内存变量,同时关闭所有工作区中打开的表。,执行命令,CLOSE ALL,。关闭所有已打开的文件,包括表文件。,在同一工作区打开另一个表时,原来在该工作区中打开的表自动关闭。,75,4.3.2,输入数据,菜单方式,在菜单栏上选择,“,表,/,追加新记录,”,项。,在菜单栏上选择,“,显示,/,浏览,”,+,“,显示,/,追加方式,”,项。,在菜单栏上选择,“,表,/,追加记录,”,项。,76,4.3.2,输入数据,命令方式,APPEND,格式:,APPEND BLANKIN/,功能:在数据表的表尾添加一条或多条新记录。等价于菜单方式的,“,显示,/,浏览,+,显示,/,追加方式,”,。,APPEND FROM,格式:,APPEND FROM ,功能:从一个指定文件中读入记录,添加到当前表文件的尾部。,77,4.3.3,输出数据,格式:,DISPLAY/LIST FOR WHILE FIELDS OFF TO PRINTERPROMPT/TO FILE,功能:显示当前表中指定数据。,78,4.4,表内容的修改,4.4.1,记录的定位,GO,命令,格式,1,:,GO n,功能:将指针定位在当前表中记录号为,n,的记录上。,格式,2,:,GO TOP,功能:将指针定位在首记录上。,格式,3,:,GO BOTTOM,功能:将指针定位在末记录上。,79,4.4.1,记录的定位,SKIP,命令,格式,1,:,SKIP,功能:将指针从当前记录开始下移一条记录。,格式,2,:,SKIP n,功能:将指针从当前记录开始,下移,n,条记录。,格式,3,:,SKIP,n,功能:将指针从当前记录开始,上移,n,条记录。,80,4.4.2,插入记录,格式:,INSERT BEFOREBLANK,功能:在当前表当前记录前面或后面插入一条新记录,并进入编辑状态。,81,4.4.3,记录的浏览与编辑,BROWSE,格式:,BROWSE FOR FIELDS LAST TITLE,功能:打开当前表的浏览窗口,可实现记录的显示、修改、删除和追加等操作。,例,1,:各种类型数据的编辑。,例,2,:,M,型、,G,型数据的输入与编辑。,82,4.4.4,修改指定字段的数据,格式:,REPLACE WITH ADDITIVE,WITH ADDITIVE,FOR/WHILEIN/,功能:用表达式的值成批修改多个指定字段的值。,例如,给第一条记录增加,5,元奖学金。,执行以下命令序列:,USE,学生,REPL,奖学金,WITH,奖学金,+5,83,4.5,记录删除,4.5.1,逻辑删除,菜单方式,在,BROWSE,窗口,实现,操作。,命令方式,格式:,DELETE FORWHILEIN/,功能:逻辑删除指定的记录,即给要删除的记录打上删除标记。,84,4.5,记录删除,4.5.2,设置逻辑删除的有效性,格式:,SET DELETE ON/OFF,功能:指定标有删除标记的记录是否参与其他命令的处理。,85,4.5,记录删除,4.5.3,取消删除,菜单方式,命令方式,格式:,RECALL FORWHILE,功能:将指定记录的逻辑删除标记清除,即让有删除标记的记录恢复正常。,86,4.5,记录删除,4.5.4,物理删除,菜单方式,“,表,/,彻底删除,”,命令方式,PACK,永久删除当前表中逻辑删除的记录。,ZAP,永久删除当前表中全部记录。,87,4.6,表内容的统计计算,4.6.1,数值字段求和命令,SUM,4.6.2,数值数据求平均值,AVERAGE,4.6.3,计数命令,COUNT,4.6.4,分类求和命令,TOTAL,88,4.7,文件管理,4.7.1,表文件的备份,COPY TO,4.7.2,列文件目录,DIR,4.7.3,修改文件名,RENAME,4.7.4,删除文件,ERASE/DELETE FILE,89,第,5,章,90,第,5,章 排序、索引与查找,知识点:,什么是排序,建立排序文件,索引,建立索引文件,索引查找,一般查找,91,5.1,排序,排序是指将当前表按照指定的排序字段(又称关键字)重新排列记录顺序,并将排序结果存储在一个新的表文件中。,命令格式:,SORT TO ON /A/D/C,,,/A/D/C,FORWHILE FIELDS/,功能:对当前表进行排序,并将排过序的记录输出到新表中。,92,5.1,排序,表记录排序的例子。,按奖学金升序建立排序文件,JXJPX.DBF,。,在命令窗口执行下述命令:,USE,学生,SORT TO JXJPX ON,奖学金,USE JXJPX,93,表记录排序的例子,94,5.2,索引,索引只是按照指定字段为当前表建立一个索引表,以索引文件的形式存储在磁盘上。,索引表中的顺序是按照字段值的大小排列的。为表文件建立索引之后,就可以用索引来控制表数据的显示。,95,5.2.1,索引文件分类,单项索引文件,结构复合索引文件,独立复合索引文件,96,5.2.1,索引文件分类,1,、单项索引文件,扩展名为,.IDX,。这种索引文件只有一个索引表达式。,2,、复合索引文件,其扩展名为,.CDX,。在复合索引文件中,每一个索引都有一个特殊的标识名(,TAG,),,TAG,的命名与自由表中字段命名方法相同(,=,10,字符)。,3,、结构复合索引文件和独立复合索引文件都属于复合索引文件。,无论是哪一种索引文件,都只能与表文件同时使用。,97,5.2.2,建立索引文件,菜单方式,利用表设计器来生成索引。,方法如下。,打开表设计器:先打开表,再选择“显示,/,表设计器”,进入表设计器窗口。,选择索引字段:在,“,字段,”,选项卡中,单击要建索引的字段,在,“,索引列,”,单击其下三角按钮,在列表中选择升序或降序,,选择索引类型,单击,“,确定,”,按钮,完成索引建立。,98,索引类型,主索引:要求索引表达式必须是表的主关键字段,该字段的值在表中是惟一的、确定的,且表允许有空值。主索引仅用于数据库表,且一个表只能创建一个主索引。,候选索引:要求同主索引。数据库表和自由表都可以建立候选索引,一个表可以建立多个候选索引。,唯一索引:相同索引值的记录只留下一条。等同于命令中的,UNIQUE,选项。如果按性别建立索引,并选择,“,唯一索引,”,,则索引表中只有,2,条记录。数据库表和自由表都可以建立唯一索引。,普通索引:没有限制。索引表中记录数同原表文件。数据库表和自由表都可以建立普通索引。,99,5.2.2,建立索引文件,命令方式,建立单项索引文件,格式:,INDEX ON TO UNIQUECOMPACTADDITIVE,功能:对当前表根据索引表达式按升序建立单项索引文件。,【,例,5.2,】,建立单项索引文件。,以出生年月为关键字建立单索引文件,CSNY.IDX,。,请在命令窗口执行下述命令:,USE,学生,INDEX ON,出生年月,TO CSNY,100,5.2.2,建立索引文件,建立结构复合索引,格式:,INDEX ON TAG UNIQUE ADDITIVE,ASCENDING/DESCENDING,功能:对当前表根据索引表达式建立索引并以,为标识存入结构复合索引文件中。,101,5.2.2,建立索引文件,建立独立复合索引,格式:,INDEX ON TAG UNIQUE ADDITIVEOFASCENDING/DESCENDING,功能:对当前表根据,“,索引表达式,”,建立索引并以,为标识存入,指定的独立复合索引文件中。,102,5.2.3,索引文件的打开与关闭,打开索引文件,打开表的同时打开索引文件,格式:,USE IN INDEXEXCLUSIVE/SHARED ORDER/TAGOFASCENDING/DESCENDING,功能:在当前工作区或指定工作区打开表文件并同时打开,指出的各个索引文件。,103,5.2.3,索引文件的打开与关闭,关闭索引文件,关闭索引文件有,2,条命令,格式如下:,格式,1,:,CLOSE INDEXES,格式,2,:,SET INDEX TO,功能:关闭当前工作区除结构复合索引以外的所有打开的索引文件。,104,5.2.4,确定主控索引,格式:,SET ORDER TO/,TAGOFIN,功能:重新确定主控索引文件或主控标识。,5.2.5,索引文件更新,先打开索引,再执行索引重建命令。,格式:,REINDEX,105,5.3,表内容的查找,5.3.1,索引查找,FIND,命,令,格式:,FIND,功能:搜索某个已建立索引的表,查找满足条件第一个记录。,说明:,FIND,命令只查找字符型或数值型数据,字符型数据可不加定界符,FIND,命令要求选定表已建立索引,若找到匹配记录,,RECNO(),返回匹配记录的,记录号,,Found(),返回,T,,,EOF(),返回,F,若找不到匹配记录,,RECNO(),返回值等于表,的记录数加,1,,,Found(),返回,F,,,EOF(),返回,T,106,5.3.1,索引查找,SEEK,命令,格式:,SEEKORDER,TAGOFA,DIN,功能:,SEEK,命令在一个表中,搜,索首次出现的一个记录,这个记录的索引关键字必须与指定的表达式匹配。,说明:,SEEK,命令查找对象可以是变量、常量和表达,式,数据类型多种,(,字符型数据必加定界符,),ORDER,子句:指定用来搜索关键字的索引序,号,单项索引文件名或复合索引文件的索引,标记,107,5.3.2,一般查找,顺序查找命令,格式:,LOCATE FOR WHILENOOPTIMIZE,功能:按表内容的排列顺序(物理顺序或逻辑顺序)依次搜索满足条件的第一条记录。,108,LOCATE,命令说明,说明:,该命令用于查找未索引或已索引的表文件。,:默认为全部记录,即,ALL,。,如果找到匹配记录,指针指向该记录,,RECNO,()返回匹配记录的记录号,,FOUND,()的值为,.T.,,,EOF,()值为,.F.,;若找不到,指针指向表尾部,,FOUND,()的值为,.F.,,,EOF,()值为,.T.,。,只能在当前工作区中查找。,109,5.3.2,一般查找,继续查找命令,格式:,CONTINUE,功能:配合,LOCATE,命令在表的剩余部分寻找满足条件的下一条记录。,110,第,6,章,111,第,6,章 数据库的建立与操作,知识点:,数据库的常用概念,数据库的建立,VFP,的工作区,表间的联系,设置数据库的参照完整性,112,6.1 VFP,数据库的常用概念,主关键字,数据之间的联系类型,一对一关系,一对多关系,多对多关系,外部关键字,113,6.1 VFP,数据库的常用概念,数据库表、自由表,数据库的完整性,实体完整性,参照完整性,用户自定义完整性,114,6.2,数据库的建立,6.2.1,一个数据库的例子,115,6.2.2,数据库的建立与编辑,创建数据库,创建,数据库,可以采用下述方法之一。,使用,“,项目管理器,”,;,使用,“,文件,”,菜单中的,“,新建,”,命令;,使用,CREATE DATABASE,命令。,打开数据库,格式:,OPEN DATABASE ,数据库文件名,/,?,功能:该命令用于在命令窗口或程序中直接打开指定的数据库。,116,6.2.2,数据库的建立与编辑,修改数据库,使用,“,项目管理器,”,在,“,项目管理器,”,中选择数据库名称;,单击,“,项目管理器,”,窗口的,“,修改,”,按钮,弹出数据库设计窗口。,使用,MODIFY DATABASE,命令,格式:,MODIFY DATABASE ,数据库名,/,?,功能:打开数据库设计器,让用户交互地修改当前数据库。,117,6.2.2,数据库的建立与编辑,关闭数据库,格式:,CLOSE DATABASE ALL,功能:关闭当前数据库和表。,说明:,有,ALL,:关闭所有打开的数据库和其中的表;所有打开的自由表和索引。,没有,ALL,:表示关闭当前数据库和表。,118,6.2.2,数据库的建立与编辑,删除数据库,使用,“,项目管理器,”,删除一个数据库的方法,在,“,项目管理器,”,中选择待删除的数据库名;,单击,“,项目管理器,”,窗口的,“,移去,”,按钮,在接下去的提示中选择删除。,使用,DELETE DATABASE,命令删除一个数据库,格式:,DELETE DATABASE,数据库名,/,?,功能:从磁盘上删除数据库。,119,6.2.3,数据库表的建立与操作,创建数据库表,当有数据库打开时,创建的数据表均为数据库表。,将表加入到数据库,所添加的数据表不能属于任何其他的数据库。,如果需要将一个属于其他数据库的表添加到一个新的数据库中,必须先将该表移出原来所属的数据库。当向数据库中添加一个数据库表时,,Visual FoxPro,将显示出错信息;添加表操作完成后,该表就变成了数据库表,同时也具备了数据库表的各种特性。,将表从数据库中移出,120,6.2.4,数据库表的性能优化,设置字段的一般属性,定义长字段名,设置字段标题,设置字段注释,建立输入掩码,设置字段的默认值,设置有效性规则,字段级有效性规则,表的记录级有效性规则,121,6.3 VFP,的工作区,6.3.1,工作区的表示,工作区是内存中用于临时存放数据表的区域。,Visual FoxPro,系统最多能同时使用,32767,个工作区,但在每个工作区中只能打开一个数据表。,工作区编号:用数字。,工作区的系统别名:用英文字母。,用户别名:用户指定的名字。,122,6.3.2,工作区的使用,选择工作区,系统启动时,,1,号工作区就是当前工作区,若想改变当前工作区,可使用,SELECT,命令。,格式:,SELECT/,功能:选择一个工作区作为当前工作区。,123,工作区的使用规则,在一个工作区中只能打开一个表文件。,对非当前工作区中的表文件进行操作时,必须采取引用的方式。即,别名,.,字段名,或别名,-,字段名。,对当前表进行的所有操作均不影响其他工作区中表文件的记录指针。,一个表文件能在多个工作区中多次打开。,指定工作区的方法:,SELECT/,指定当前可用的最小号工作区:,SELECT 0,或,USE IN 0,6.3.3,工作区操作示例,124,6.4,表间的联系,6.4.1,联系类型,数据表之间的联系类型有两种:一种是临时性关联;一种是永久性关联。,什么是临时关联,建立数据表之间的临时性关联的主要目的是,让相关联的表之间实现指针联动,即,当指针在父表中移动并指向某一记录时,子表指针会指向与其相关的记录上。,数据表之间的临时性关联特点之一是其临时性,需要时建立,一旦关闭了表文件,表之间的关联也就自动解除。,125,6.4.2,临时关联,创建临时关联,利用“数据工作期”创建表间的临时性关联。,用,SET RELATION,命令建立临时关系,格式:,SET RELATION TOINTO/,,,INTO/IN/ADDITIVE,功能:在两个打开的表之间建立关系。,126,建立一对多临时关联,【,例,6.10,】,建立,“,学生,.DBF,”,和,“,成绩,.DBF,”,一对多的临时关联。执行下述命令序列。,SELECT 1,USE,成绩,INDEX ON,学号,TO X1,SELECT 2,USE,学生,SET RELATION TO,学号,INTO,成绩,BORWSE,SELECT,成绩,BROWSE,127,6.4.3,永久关联,什么是永久关联,建立数据表之间永久关联的主要目的是,实现数据库中表之间的参照完整性。因此
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服