《vfp编程语言》PPT课件.ppt_第1页
《vfp编程语言》PPT课件.ppt_第2页
《vfp编程语言》PPT课件.ppt_第3页
《vfp编程语言》PPT课件.ppt_第4页
《vfp编程语言》PPT课件.ppt_第5页
已阅读5页,还剩316页未读 继续免费阅读

下载本文档

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

文档简介

Visual FoxPro 6.0 数据库与程序设计,目录,课程简介 第1章 数据库系统 第2章 VFP语言基础 第3章 VFP数据库及其操作 第4章 查询和视图 第5章 结构化查询语言SQL 第6章 结构化程序设计 第7章 面向对象程序设计 第8章 表单设计与应用 第9章 报表设计与应用 第10章 菜单设计与应用 第11章 应用系统的开发,课程简介,计算机应用基础(VF),课程目标, 学习程序设计技术 掌握科学研究工具 培养逻辑思维能力 提高现代文化素质 培养良好工作风格 提高创新创造精神,课程性质, 计算机应用基础_核心公共课 计算机应用基础_必修公共课 文科_Visual FoxPro 理科_Visual Basic,课程教材, Visual FoxPro 6.0数据库与程序设计 卢湘鸿 主编 电子工业出版社,第1章 数据库系统 第2章 VFP语言基础 第3章 VFP数据库及其操作 第4章 查询和视图 第5章 结构化查询语言SQL 第6章 结构化程序设计 第7章 面向对象程序设计 第8章 表单设计与应用 第9章 报表设计与应用 第10章 菜单设计与应用 第11章 应用程序的开发,课程内容,课程进度, 程序设计为主 实际应用为重 典型案例引路 基本概念梳理,教学方法,学习方法, 抓住重点,突出应用 实验自学,相辅相成 认真练习,注意观察 举一反三,触类旁通 掌握规律,融会贯通 归纳整理,善于总结,业精于勤,荒于嬉; 行成于思,毁于随。 韩愈, 理论、操作综合测验 实验、实验报告、考勤均计成绩 平时上机 20% 上机考试 30% 期末理论考试 50%,测验方法,第1 章 数据库系统,1.1 数据库基础知识 1.2 Visual FoxPro 6.0的特点、安装和运行 1.3 Visual FoxPro 6.0的集成开发环境 1.4 Visual FoxPro 6.0系统的配置 1.5 Visual FoxPro 6.0的文件类型,1.1 数据库基础知识,随着计算机技术的发展,计算机的主要应用已从科学计算转变为事务数据处理。在事务处理过程中,并不需要进行复杂的科学计算,而是要进行大量数据的存储、查找、统计等工作,如教学管理、人事管理、财务管理等,就需要对大量数据进行管理,而数据库技术就是目前最先进的数据管理技术 Microsoft公司推出的Visual FoxPro 6.0是一个可运行于Windows 95/98/NT平台的32位数据库开发系统,也是目前微机上最优秀的数据库管理系统之一,1.1.1 基本概念_1.信息与数据, 信息 信息泛指通过各种方式传播的、可被感受的声音、文字、图像、符号等所表征的某一特定事物的消息、情报或知识 数据 数据是指表达信息的某种物理符号。在计算机中,数据是指能被计算机存储和处理的、反映客观事物的物理符号序列 数据反映信息,而信息依靠数据来表达 表达信息的符号可以是数字、字母、文字和其它特殊字符组成的文本形式的数据,还可以是图形、图像、动画、影像、声音等多媒体数据 在计算机中,主要使用磁盘、光盘等外部存储器来存储数据,通过计算机软件和应用程序来管理及处理数据,数据处理是对各种类型的数据进行收集、整理、存储、分类、加工、检索、维护、统计和传播等一系列活动的总称 数据处理的目的是从大量的、原始的数据中抽取对人们有价值的信息,并以此作为行为和决策的依据 数据处理的核心问题是数据管理 数据库技术主要研究在计算机环境下如何合理组织数据、有效管理数据和高效处理数据,1.1.1 基本概念_2.数据处理,数据管理技术经历了三个阶段: 人工管理 文件系统 数据库管理 主要解决的问题是: 数据冗余度 数据独立性 数据一致性,1.1.1 基本概念_2.数据处理,1.1.1 基本概念_3.数据库系统,数据库系统包括以下几个部分: 数据库(DB) 指以一定的组织方式存储在计算机存储设备上、能为多个用户所共享的、与应用程序彼此独立的相关数据的集合。它不仅包括描述事物的数据本身,而且包括相关事物之间的联系 数据库管理系统(DBMS) 是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心组成部分 数据库系统(DBS) 指引进数据库技术后的计算机系统 数据库应用系统 指系统开发人员利用数据库系统资源开发出来的,面向某一类信息处理问题而建立的软件系统,1.1.2 数据模型,数据模型是用来描述现实世界中的事物及其联系的,它将数据库中的数据按照一定的结构组织起来,以能反映事物本身及事物之间的各种联系 1层次模型 用树型结构表示实体及其之间的联系 2网络模型 用网状结构表示实体及其之间的联系 3关系模型 用二维表结构来表示实体及其之间的联系 关系数据模型以关系数学理论为基础,一个二维表就是一个关系,不仅能描述实体本身,而且还能反映实体之间的联系,模型简单、使用方便,应用也最广泛,1.1.2 数据模型,1.1.2 数据模型,1.1.3 关系数据库及其特点_1.关系数据库,由关系模型组成的数据库就是关系数据库 关系数据库由包含数据记录的多个数据表组成,用户可在有相关数据的多个表之间建立相互联系 在关系数据库中,数据被分散到不同的数据表中,以便使每一个表中的数据只记录一次,从而避免数据的重复输入,减少冗余,1.1.3 关系数据库及其特点_2.关系术语, 表:存放一组同类实体的集合 记录:记载某个实体属性的一组信息(表中的一行) 字段:记载某个实体的一个属性的数据项(表中的一列) 关系:指各数据表之间的连接方法,用二维表表示 关系模式:关系名(属性1,属性2,属性n) 例如,学生(学号,姓名,性别,出生日期,籍贯) 主关键字:用来惟一标识关系中记录的字段或字段组合 外部关键字:用于连接 另一个关系,并且在另一个关 系中为主关键字的字段,1.1.3 关系数据库及其特点_3.主要特点, 关系中每个属性必须是不可分割的数据单元 关系中每一列元素必须是类型相同的数据 同一个关系中不能有相同的字段和记录 关系的行、列次序可以任意交换,不影响其信息内容,1.3.1 VFP的工作方式_1.人机交互方式,交互方式下,输入或选择一条命令后可立即执行,并显示结果,操作便捷、直观,但不适于解决复杂的信息管理问题,菜单命令,工具按钮,命令窗口,1.3.1 VFP的工作方式_2.程序执行方式,将多条命令有序地编写成一个程序存放在磁盘上(.PRG),通过运行该程序,系统可连续地自动执行一系列操作,完成程序所规定的任务 在程序执行方式下,一个程序可以被反复执行,且在执行过程中一般不需要人为干预,1.3.2 VFP的窗口、菜单和工具栏_1.窗口, 主窗口:显示命令执行的结果 命令窗口:输入交互命令 数据浏览和编辑窗口:浏览或修改数据表中的记录 代码窗口:显示或编辑程序代码,数据浏览和编辑窗口,代码窗口,命令窗口,主窗口,1.3.2 VFP的窗口、菜单和工具栏_2.菜单,VFP的菜单系统以交互方式提供了数据库操作的各种命令,启动系统后主窗口的菜单栏中一般包含8个菜单项。随着当前执行的任务不同,菜单栏中的各个选项也随之动态变化,1.3.2 VFP的窗口、菜单和工具栏_3.工具栏,工具栏中显示了一些常用的功能。默认情况下,“常用”工具栏随系统启动时一起打开,其它工具栏则随着某一种类型的文件打开后自动打开。 选择“显示/工具栏”菜单命令,打开“工具栏”对话框,可以选择需要的工具栏;取消选中则可关闭该工具栏,1.3.3 VFP的向导、设计器和生成器_1.向导,向导是一个交互式程序,能帮助用户快速完成一般性的任务。通过在向导的一系列屏幕显示中回答问题或选择选项,向导会自动建立一个文件,或者根据用户的 响应完成一项任务,1.3.3 VFP的向导、设计器和生成器_2.设计器,设计器是一种可视化的设计工具,用户无需涉及命令即可快速、方便地创建并定制应用程序的组件,1.3.3 VFP的向导、设计器和生成器_3.生成器,生成器是一种带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程,1.3.4 VFP的项目管理器_1.启动项目管理器,项目是文件、数据、文档以及VFP对象的集合,项目可作为文件(.PJX)保存在磁盘中 项目管理器是创建和管理项目的一个极为便利的工作平台,开发一个应用系统时,通常都是先从创建项目文件开始,利用“项目管理器”来组织和管理项目中的各类数据和对象 1. 启动项目管理器 通过新建项目文件或打 开已有的项目文件可启动项 目管理器,1.3.4 VFP的项目管理器_2.项目管理器的组成,项目名称,选项卡,以分层结构视图显示当前项目中的各类数据 单击数据项前面的“+”可展开此项的列表,单击数据项前面的“-”可折叠展开的列表,1.3.4 VFP的项目管理器_3.定制项目管理器, 移动和缩放项目管理器 展开或折叠项目管理器 拆分项目管理器 停放项目管理器,1.3.4 VFP的项目管理器_4.项目管理器的操作, 移去或删除文件 按“移去”按钮,将选定的对象从项目中移去 按“删除”按钮,将选定的对象从硬盘上删除,并且不可恢复 创建和修改文件 按“新建”按钮,将创建制定类型的文件 按“修改”按钮,将对选定的文件进行修改 为文件添加说明 选择“项目/编辑说明”菜单命 令,或文件快捷菜单的“编辑说明” 命令,1.4 VFP系统的配置,VFP安装和启动之后,系统自动用一些默认值来设置环境。也可以重新设置参数以满足不同工作方式或工作环境的需要 1. 使用“选项”对话框配置系统 选择“工具/选项”菜单命令,打开“选项”对话框,其中有12个选项卡,用于不同类别环境的设置 2保存设置 将设置保存为仅在当前工作 期有效:“确定” 将设置保存为永久性设置: “设置为默认值” 也可以在命令窗口或程序中使 用SET命令配置环境,设置结果仅在 当前工作期有效,1.5 文件类型,第2 章 VFP语言基础,2.1 数据类型 2.2 数据存储 2.3 运算符和表达式 2.4 函数 2.5 命令,2.1 数据类型,2.1 数据类型,2.2.1 常量,常量是指在数据处理过程中其值始终保持不变的量 1. 数值型常量:数学中的十进制整数或小数 如:10.25,-123.567 2. 浮点型常量:数值型常量的浮点格式 如:1.234E+15,1.234E-15 3. 字符型常量:用单撇号、双撇号、方括号括起来的字符串 如: “ABCD”、1234、中国北京 4. 逻辑型常量:用下圆点作为定界符,只有真和假两个值 如: .T.、.t.、.Y.、.y. (真);.F.、.f.、.N.、.n. (假) 5. 日期型常量/日期时间型常量: 表示一个确切的日期和时间,用花括号作为定界符 如:2003-03-03、1996-03-20 12:30:15 也可以用CTOD函数进行转换,如 CTOD(”03/03/2003”),2.2.2 变量,变量是指在数据处理过程中其值可以改变的量 变量用标识符标识,标识符是以字母(汉字)或下划线开头,由字母、汉字、数字和下划线组成的字符串,长度不能超过128个字符 VFP中的变量分为字段变量和内存变量两种 1. 字段变量 存在于数据表中。当定义好一个数据表的结构,该表中的各个字段名就形成了各个字段变量 字段变量必须先定义然后才能使用 2. 内存变量 是一种临时信息存储单元,独立于数据表,可以根据需要随时建立。其类型取决于变量值的类型,可以把不同类型的数据赋给同一个变量 当内存变量名与数据表中的字段变量名相同时,要访问该内存变量,必须在变量名前加上前缀M.或M-,否则系统将优先访问同名的字段变量,2.2.2 变量, 建立内存变量 格式1:= 格式2:STORE TO 功能:在定义内存变量的同时确定内存变量的值和类型 例如,X=5 & 定义变量X,并把数值5赋给X STORE X+10 TO Y & 定义变量Y,并将表达式X+10的值赋给Y STORE ”北京” TO A,B,C & 定义变量A,B,C,并赋于相同的字符数据 X=.F. & 重新定义变量X,并赋逻辑值,2.2.2 变量, 输出内存变量的值 格式1:? 格式2:? 功能:计算中各表达式的值并在屏幕上显示出来 显示或打印内存变量 格式:LIST|DISPLAY MEMORY LIKE TO PRINTE|TO FILE 功能:显示或打印内存变量的当前信息 例如,在命令窗口中输入命令: LIST MEMORY LIKE X* 将在主窗口中显示所有以X打头的内存变量,2.2.2 变量, 清除内存变量 格式1:CLEAR MEMORY 格式2:RELEASE 格式3:RELEASE ALL LIKE |EXCEPT 功能:释放所有内存变量或指定的内存变量。 例如,RELEASE X1 & 释放内存变量X1 RELEASE ALL LIKE X* & 释放所有第1个字母为X的内存变量 RELEASE ALL & 释放所有内存变量 3. 系统变量 以字符“_”开头的、由VFP系统自动定义生成的变量,其名称也是系统事先定义好的 例如,_PAGENO,_ALIGNMENT,2.2.2 变量,4数组 内存中连续的一片存储区域,由一组称为数组元素的变量组成。通过赋值语句可以为各个元素分别赋值,且所赋值的数据类型可以不同 定义:DIMENSION (,) ,(,) 数组必须先定义后使用,且使用时下标不能超界 每个数组元素通过数组名和相应的索引编号被引用 例如:定义一个一维数组AA和一个二维数组BB: DIMENSI0N AA(5),BB(2,3) 将数值0赋给数组AA中的所有元素:STORE 0 TO AA 将字符串xyz赋给数组元素BB(1,1):BB(1,1)=”XYZ” 将数值125赋给数组元素BB(2,1): BB(2,1)=125 将逻辑真值T赋给数组元素BB(2,3):BB(2,3)=.T.,2.2.3 其它数据存储容器_1.数据表,数据表是一系列相关数据的集合 字段是数据表中存储、处理数据的基本元素,一个具体的字段只能存储同一种类型的数据 记录是数据表中一组字段的集合,同一个数据表中所有记录都具有相同的字段名,且同名字段在每个记录中的数据类型、数据长度都是相同的 字段和记录构成了一个数据表的全部内容,结构,记录,字段,2.2.3 其它数据存储容器_2.对象,对象(Object)是一个具有属性和行为特征的实体,它可以是任何具体事物。例如现实生活中的计算机、电话机、电视机等 在面向对象的程序设计中,对象是编程的基本元素,它将某一数据和使用该数据的一组基本操作或过程封装在一起,构成一个统一体 VFP中的对象可以是表单、标签或各种控件等 每个对象都有自己的属性和行为特征,2.3 运算符和表达式,运算符是对相同类型数据进行运算操作的符号 用运算符将常量、变量和函数等数据连接起来的式子称为表达式 表达式的类型由运算符的类型决定,每个表达式按照规定的运算规则都产生一个惟一的值 数值表达式 字符表达式 日期表达式 关系表达式 逻辑表达式,2.3 运算符和表达式_1.数值表达式,数值表达式:用算术运算符将数值型数据连接起来的式子,其结果仍是数值型数据,2.3 运算符和表达式_2.字符表达式,字符表达式:用字符串运算符将字符型数据连接起来的式子,其结果仍是字符型数据 “+”运算符:两个字符串首尾相连形成一个新的字符串 “-”运算符:两个字符串相连,并将前字符串尾部的空格移到合并后的新字符串的尾部 例如,? ”ABCD ”+”EFG”+”1234” & 结果为:ABCD EFG1234 ? ”ABCD ”-”EFG ”+”1234” & 结果为:ABCDEFG 1234,2.3 运算符和表达式_3.日期表达式,日期表达式:用算术运算符将日期型和数值型数据连接起来的式子,其结果为日期型数据或数值型数据 例如,? 2002-01-20+5 & 结果为日期: 2002/01/25 ? 2002-01-20-5 & 结果为日期: 2002/01/15 ? 2002-01-20-2001-10-28 & 结果为天数: 84,2.3 运算符和表达式_4.关系表达式,关系表达式:用关系运算符将运算元素连接起来的式子,其结果为逻辑真值(.T.)或逻辑假值(.F.),例如: S1=”读者” S2=”读者文摘” SET EXACT ON ? S1=S2, S2=S1, S2=S1 & 结果是 .F. .F. .F. SET EXACT OFF ? S1=S2, S2=S1, S2=S1 & 结果是 .F. .T. .F.,2.3 运算符和表达式_5.逻辑表达式,逻辑表达式:用逻辑运算符将逻辑型运算元素连接起来的式子,其结果仍是逻辑型数据 AND (与):两个表达式的值均为真,结果才为真;否则为假 OR (或):两个表达式的值均为假,结果才为假 NOT、! (取反):真值变为假值,假值变为真值 例如 ? 105 .AND. 55 .OR. 52 & 结果为 .F. .T.,2.3 运算符和表达式_6.优先级, 括号函数算术运算字符运算关系运算逻辑运算 同级运算从左至右顺序进行 例如,x1=3,y1=-2,x2=8,y2=-6 则 x1+y1x2+y2 .AND. .NOT.(y1y2) 的结果为 .F.,2.4 函数, 函数 函数是一种能够完成某种特定操作或功能的数据形式。一个函数可以接受一个或多个参数,并通过特定的运算返回一个值 格 式:函数名(参数1,参数2) 函数值:函数的运算结果 说 明:任何可以使用表达式的地方都可以使用函数 函数类型 系统函数:由VFP提供的内部函数,有14类380多个函数,常用的函数有数值函数、字符函数、日期函数、类型转换函数、数据库函数和测试函数等6类 自定义函数:由用户自己定义的函数,2.4 函数_1. 数值函数,数值函数:返回值是数值的函数,2.4 函数_2.字符函数,字符函数:用于对字符或字符串操作的函数,返回值可以是字符型、数值型或逻辑型 示例中,假设 c=”This is a book!”,2.4 函数_3.日期函数,日期函数:用于对日期或日期时间型数据进行操作的函数 示例中,假设 d=2003-09-03 13:23:36,2.4 函数_4.类型转换函数,类型转换函数:用于不同类型数据之间的转换函数 示例中,假设d=2003-09-03 13:23:36 c=”05/08/1984 9:45:50”,2.4 函数_5.数据库函数,数据库函数:对数据库操作的函数,2.4 函数_6.测试函数,测试函数:测试表达式类型及文件的函数,2.5 命令,1. 命令动词: 所有命令都以命令动词开头,表示要执行的命令功能 2. 命令子句: 用来修饰或限制命令 范围子句: 指明在哪些记录范围内执行命令,有四种: RECORD 表示指定第N个记录 NEXT 表示从当前记录开始的N个记录 ALL 表示数据库的所有记录 REST 表示从当前记录开始到最后一个记录 FIELDS子句: 指明对数据表中的哪些字段执行命令 FOR/WHILE子句: 后面跟一个逻辑表达式,表示仅对符合条件(即表达式的结果为.T.)的记录执行命令操作 例如,显示学生表中所有女生的学号、姓名、出生日期等信息,可使用以下命令: LIST ALL FIELDS 学号,姓名,出生日期 FOR 性别=”女”,2.5 命令,3. 命令书写规则 必须以命令动词开头,命令中可以含有一个或多个子句,子句的顺序任意 命令动词和各子句之间用空格分开(空格数任意) 命令动词可以缩写为前4个字符,且不区分大小写 命令行的最大长度为254个字符,一行写不下时,要在行尾加续行符(西文分号“;”)分行,并在下行继续书写,第3 章 VFP数据库及其操作,3.1 创建项目 3.5 数据表的维护 3.2 创建数据库 3.6 数据表排序与索引 3.3 创建数据表 3.7 建立数据字典 3.4 数据表的基本操作 3.8 多数据表操作,FVP项目组织简图,3.1 创建项目,项目是文件、数据、文档和VFP对象的集合。利用“项目管理器”可以很方便地组织和管理项目中的各类数据和对象 用户在开发一个应用系统时,通常都是先从创建项目开始的,3.1 创建项目,1. 建立工作目录: 组织和管理磁盘中的各类文件 2建立项目文件 菜单:选择“文件/新建”菜单命令,或按工具栏“新建”按钮,在“新建”对话框中选择“项目”项 命令:CREATE PROJECT 3打开项目文件 菜单:选择“文件/打开”菜单命令,或按工具栏的“打开”按钮,在“打开”对话框中选择项目文件(*.PJX) 命令: MODIFY PROJECT ,3.2 创建数据库,数据库是表的集合,即在一个数据库中可以包含若干个通过关键字段相互关联的表。一个数据库文件(.DBC)中存储了所包含的表与表之间的联系,以及依赖于表的视图、联接和存储过程等信息 把表放入数据库中可以减少数据的冗余,保护数据的完整性 数据库使得对数据的管理更加方便和有效,3.2.1 数据库的设计思想,3.2.2 数据库的创建,1. 建立数据库 项目管理器:“新建:数据库” 菜单:选择“文件/新建:数据库”菜单命令 命令:CREATE DATABASE 2在项目中添加数据库 在项目管理器中选定“数据库”项,按“添加”按钮,在“打开”对话框中选择需要添加的数据库文件,3.2.3 数据库的基本操作,1. 打开数据库 项目管理器:选定要打开的数据库,按“打开”按钮 菜单:选择“文件/打开”菜单命令 命令 打开数据库文件:OPEN DATABASE 数据库设计器:MODIFY DATABASE 2关闭数据库 项目管理器:选定要关闭的数据库,按“关闭”按钮 命令:CLOSE DATABASES 3. 删除数据库 项目管理器:选定数据库后,按“移去”按钮,将从项目中移去选定的库文件;按“删除”按钮,则将选定的库 文件从磁盘上删除 命令: DELETE DATABABE ,3.3 创建数据表,1. 数据表和数据库 表(Table)是处理数据和建立关系型数据库及应用程序的基本元素。数据库(DATABASE)是表的集合 2. 数据表的类型 自由表:不属于任何数据库而独立存在的表 数据库表:属于某一数据库的表 3. 数据表的结构 数据表形式上是一组相关联的数据 按行和列排列的二维表格,用来描述一 个实体,字段,记录,3.3 创建数据表,显示结构,编辑结构,复制结构,3.3.1 基本概念,定义字段:为每个字段指定名称、数据类型和宽度,它们决定了表中的数据是如何被标识和保存的 字段名:以字母或汉字开头,由字母、汉字、数字或下划线组成,不能包含空格。数据库表字段名最长为128个字符,自由表字段名最长为10个字符 字段类型:决定了存储在字段中的值的数据类型 字段宽度:指能够容纳存储数据的长度 小数位:若字段的类型是数值型(N)和浮点型(F)时,还需给出小数位数。小数位数不能大于9,双精度型 数据的小数位数不能大于18 使用空值:在建立数据表时, 可以指定字段是否接受空值(NULL),3.3.1 基本概念,建立“教学管理”数据库,其中有“学生”、“课程”和“成绩”三个表,3.3.2 自由表的建立_1.定义表结构,表结构的定义在“表设计器”中完成。打开表设计器的方法有: 菜单:选择“文件/新建”菜单命令 命令:CREATE 项目管理器:选择“自由表”,按“新建”按钮 定义表结构就是设置表的字段属性,包括字段名、数据类型、字段宽度和小数位数等 定义字段 修改字段 插入字段 调整字段 删除字段,3.3.2 自由表的建立_2.输入记录,输入记录数据可以选择“显示/浏览”或“编辑”菜单命令,在“浏览”或“编辑”窗口中进行 一般数据的输入 字符型、数值型、逻辑型、日期型等字段类型数据可以直接在浏览窗口或编辑窗口中输入,3.3.2 自由表的建立_2.输入记录, 备注型字段数据的输入 双击名为“memo”的备注字段标志,进入备注窗口,输入文本内容 通用型字段数据的输入 双击名为“gen”的通用字段标志,进入通用型字段输入编辑窗口。选择“编辑/插入对象”菜单命令,在“插入对象”对话框中选择插入OLE对象 要删除备注字段或通用字段的内容,可双击字段名,打开编辑窗口,选择“编辑/清除”菜单命令 如果在数据表中定义了备注型或通用型字段,系统会自动生成与表文件名相同的备注文件(.FPT)。备注文件是表文件的辅助文件,它随着表文件的打开而打开,随着表文件的关闭而关闭 无论一个表中定义了多少个备注型 或通用型字段,系统只生成一个备注文件,3.3.3 数据库表的建立_1.在数据库中建立新表,在项目管理器中,选择“数据库:表”项,按“新建”按钮 使用项目管理器创建的表自动包含在项目文件中 当数据库处于打开状态时,用建立自由表的方法创建的新表将包含在该数据库中,3.3.3 数据库表的建立_2.将自由表添加到数据库, 项目管理器 选择“数据库:表”项,按“添加”按钮 命令:ADD TABLE 数据库中的表只能属于一个数据库文件,如果向当前数据库中添加的表已属于其它数据库,则需要先从其它数据库中移去该数据表,然后才能将它添加到当前数据库中,3.3.3 数据库表的建立_3.从数据库中移去数据表, 项目管理器 选定要移去的表,按“移去”按钮,在提示对话框中按“移去”按钮;若 按“删除”按钮,则不仅从数据库中移去该表,同时也从磁盘上删除了该表 命令:REMOVE TABLE ,3.4.1 数据表的浏览_1.打开数据表文件, 打开数据表 菜单:选择“文件/打开”菜单命令 命令:USE 关闭数据表 菜单:选择“窗口/数据工作期”菜单命令,在“数据工作期”对话框中选择表的别名后,按“关闭”按钮 命令:USE 例如,USE 学生 USE 课程 USE,3.4.1 数据表的浏览_2.浏览与显示表结构, 浏览表结构 项目管理器:选定要浏览的表,按“修改”按钮,打开表设计器 菜单:选择“显示/表设计器”菜单命令,打开表设计器 显示表结构(主窗口) 命令:LIST|DISPLAY STRUCTURE,3.4.1 数据表的浏览_3.浏览与显示记录, 在浏览窗口中浏览记录 项目管理器:选定要浏览的表,按“浏览”按钮 对于备注型字段或通用型字段内容,可以在浏览窗口中双击相应的字段标志(“Memo”或“Gen”),打开编辑窗口浏览 菜单:选择“显示/浏览”,或“显示/编辑”菜单命令,打开浏览窗口 命令:BROWSE,3.4.1 数据表的浏览_3.浏览与显示记录, 在浏览窗口中有选择地浏览记录 菜单:打开浏览窗口,选择“表/属性”菜单命令,在“工作区属性”对话框的“数据过滤器”框中输入筛选条件,可以只显示满足筛选条件的记录。删除筛选表达式,可恢复显示所有记录 在“工作区属性”对话框中,选择“字段筛选指定的字段”选项,按“字段筛选”按钮,在“字段选择器”对话框中选择要显示内容的字段;选择“工作区中的所有字段”选项,可取消对字 段访问的限制,恢复显示所有字段 命令 设置数据过滤器: SET FILTER TO 设置字段过滤器: SET FIELDS TO ALL|,3.4.1 数据表的浏览_3.浏览与显示记录,【例3.10】用命令方式浏览“学生”表中所有女生的记录 SET FILTER TO 性别=女 BROWSE 【例3.11】取消【例3.10】中的记录筛选,浏览所有学生的记录 SET FILTER TO BROWSE 【例3.12】用命令方式浏览“学生”表中的学号、姓名、系别和贷款否 SET FIELDS TO 学号,姓名,系别,贷款否 BROWSE 【例3.13】取消【例3.12】对字段的限制,浏览“学生”表中所有字段 SET FIELDS TO ALL BROWSE USE,3.4.1 数据表的浏览_3.浏览与显示记录, 显示记录(主窗口) 命令:LIST|DISPLAY FIELDS WHILE FOR “FIELDS ”可以用代替 【例3.14】显示“学生”表中所有女生的学号、姓名和所在系的信息: USE E:VFP6DATA学生.DBF & 打开学生表 LIST FIELDS 学号,姓名,系别 FOR 性别=”女”,3.4.1 数据表的浏览_应用示例,1. 显示所有男生的姓名与在2007年的年龄 2. 显示所有姓“张”同学的学号、姓名和系别 3. 显示所有姓名中含有“林”字同学的学号、姓名和系别 4. 显示所有在本月过生日同学的姓名和出生日期 5. 分页显示所有同学的信息 6. 显示当前记录信息 7. 显示学号的第4位为3,并且在10月份出生的学生的信息,LIST 姓名,2007-YEAR(出生日期) FOR 性别=男,LIST 学号,姓名,系别 FOR 姓名=张 $ LEFT(姓名,2)=张,LIST LIST 学号,姓名,系别 FOR AT(“林”,姓名)#0 $ “林”$姓名,LIST FIELDS 姓名,出生日期 FOR MONTH(出生日期)=MONTH(DATE(),DISPLAY ALL,DISPALY,3.4.2 记录的定位_1.记录指针,记录指针存放的是记录号。被记录指针指向的记录称为“当前记录” 向表中录入数据时,系统会按照录入次序为记录加上记录号 数据表刚打开时,记录指针总是指向首记录 通过移动记录指针可以指定当前要操作的记录,3.4.2 记录的定位_2.移动记录指针, 菜单:打开浏览窗口,选择“表/转到记录”菜单命令 命令 绝对移动:GOTO |TOP|BOTTOM 功能:将记录指针定位在指定记录号的记录上 TOP表示第一条记录,BOTTOM表示最后一条记录 相对移动:SKIP +|- 功能:将记录指针从当前位置向前或向后 移动若干条记录位置 条件定位: LOCATE FOR 功能:查找满足条件的第一条记录 “FOR”是必须的;使用CONTINUE 命令可继续查找下一条满足条件的记录,3.4.2 记录的定位,【例3.15】用命令方式定位并显示“学生”表的指定记录 USE E:VFP6DATA学生 GO TOP DISPLAY GO 6 DISPLAY GO BOTTOM DISPLAY 【例3.16】使用SKIP命令移动“学生”表的记录指针 GO 2 SKIP 5 DISPLAY SKIP 3 DISPLAY,3.4.2 记录的定位,【练习】用命令方式显示“学生”表倒数第5条记录信息 GOTO BOTTOM SKIP -4 DISPLAY 【例3.17】将记录指针定位在学生表中第一条性别为“男”的记录上 LOCATE FOR 性别=”男” ? FOUND() DISPLAY CONTINUE DISPLAY,3.5.1 修改表结构,在表设计器中可以修改表结构 1. 项目管理器:选定要修改的表,按“修改”按钮 2. 菜单:选择“文件/打开”菜单命令,或“显示/表设计器”菜单命令 3. 命令:MODIFY STRUCTURE 修改字段属性后,VFP将按新的属性改写整个.DBF文件,可能造成数据丢失,3.5.2 添加记录_1.在浏览窗口中追加记录, 菜单:打开浏览窗口,选择“显示/追加方式”菜单命令,可以在原有记录的后面追加多条新记录 选择“表/追加新记录”菜单命令,每次只能添加一条新记录 命令:APPEND BLANK BLANK表示空记录,3.5.2 添加记录_2.插入记录,命令:INSERT BLANKBEFORE 功能:在数据表的当前记录之前或之后插入一条记录 BEFORE表示“之前”,3.5.2 添加记录_3.从其它文件中追加记录, 菜单:打开浏览窗口,选择“表/追加记录”菜单命令 命令:APPEND FROM FIELDS FOR 功能:将满足条件的记录按指定的字段从源表文件中追加到当前数据表的末尾,例如,将“课程”表中的相应数据追加到“课程安排”表中: USE E:VFP6DATA课程安排 APPEND FROM E:VFP6DATA课程.DBF FIELDS 课程号,课程,3.5.3 编辑记录,命令:EDIT|CHANGE FIELDS FOR 功能:修改当前表给定范围内,满足条件记录的制定字段值,3.5.3 编辑记录_1.在浏览窗口中编辑记录, 项目管理器:选定表,按“浏览”按钮,打开浏览窗口,直接修改字段值。关闭浏览窗口,所做的修改将自动保存在表文件中 备注型字段或通用型字段内容,可以双击相应的字段标志(“Memo”或“Gen”),打开编辑窗口进行编辑或修改 命令:BROWSE FIELDS FREEZE NOAPPENDNOMODIFYFOR FREEZE表示冻结在指定字段 NOAPPEND表示禁止追加 NOMODIFY表示禁止修改,3.5.3 编辑记录_2.批量修改记录,对一批记录中的若干字段值进行有规律 的修改 菜单:打开数据表,选择“表/替换字 段”菜单命令,在“替换字段”对话框中设置 命令: REPLACE WITH ADDITIVE , WITH ADDITIVE FOR WHILE 功能:对表中指定范围内的满足条件的记录进行批量修改 【例3.21】给“学生”表管理系的每个学生减去15.5元助学金 USE E:VFP6DATA学生 REPLACE ALL 助学金 WITH 助学金-15.5 FOR 系别=”管理”,3.5.4 删除记录,1. 逻辑删除: 给记录加删除标记 鼠标操作:在浏览窗口中,单击左侧白色 方框使之变黑 菜单:选择“表/删除记录”菜单命令 命令:DELETE FOR 2. 恢复逻辑删除: 取消删除标记 鼠标操作:单击逻辑删除标记,取消黑色方框 菜单:选择“表/恢复记录”菜单命令 命令:RECALL FOR 3. 物理删除:从磁盘上删除记录,不可恢复 菜单:选择“表/彻底删除”菜单命令 命令:PACK(删除带有删除标记的记录) ZAP (一步、全部清除表中记录,仅保留表结构),3.5 记录删除_应用示例,【例3.23】逻辑删除“学生”表1983年以前出生的学生,再将其恢复 DELETE FOR YEAR(出生日期)1983 LIST 姓名,性别,出生日期,系别 RECALL ALL 【例3.22、24】逻辑删除“学生”表最后一条记录,再将其物理删除 GO BOTTOM DELETE PACK LIST 姓名,性别,系别 【例3.25】删除“课程安排”表中的所有记录 ? RECCOUNT() ZAP ? RECCOUNT(),3.5 记录编辑_应用练习,1. 在第三个记录之后插入一条新记录 2. 对从当前记录开始一直到最后一条记录的籍贯和高等数学成绩进行修改 3. 将所有学生的奖学金上调5%,再加10元 4. 逻辑删除第一个记录 5. 恢复第7个记录之前的3条记录中被逻辑删除了的记录 6. 物理删除所有被逻辑删除的记录 7. 逻辑删除最后5条记录中姓“王”的同学,GO 3 INSERT,EDIT REST FTELDS 籍贯,高等数学,REPLACE 奖学金 WITH 奖学金*1.05+10,DELETE RECORD 1,GO 7 SKIP -3 RECALL NEXT 3,PACK,GO BOTTOM SKIP -4 DELETE REST FOR 姓名=王,3.5.5 复制数据表_1.数据表文件的复制,1. 数据表文件的复制 菜单:打开表文件,选择“文件/导出”菜单命令,显示“导出”对话框 命令:COPY TO FIELDS FOR WHILE ,2. 数据表结构的复制 命令:COPY STRUCTURE TO FIELDS ,3.5.5 复制数据表_3.数据表文件的更名,在项目管理器中选择要重命名表的“快捷菜单/重命名”命令,在“重命名文件”对话框中输入新的文件名,3.5.6 数据表与数组之间的数据交换,1将表的当前记录复制到数组 命令:SCATTER FIELDS MEMO TO |MEMVAR 功能:将数据表的当前记录按字段顺序复制到数组或内存变量 MEMO表示包括备注型字段的内容;MEMVAR传递到一组内存变量中 例如,USE E:VFP6DATA学生 * 将第1条记录的姓名、性别和系别3个字段复制到数组AA中 SCATTER FIELDS 姓名,性别,系别 TO AA GO 5 * 将第5条记录复制到数组BB中,包括备注型字段的内容 SCATTER TO BB MEMO,3.5.6 数据表与数组之间的数据交换,2将数组复制到表的当前记录 命令:GATHER FROM |MEMVAR FIELDS MEMO 功能:将数组元素或同名内存变量的值顺序复制到当前记录的指定字段中 例如:USE E:VFP6DATA学生 * 在表的末尾增加一条空记录 APPEND BLANK * 将数组 AA 中的数据复制到当前的空记录中 GATHER FROM AA FIELDS 姓名,性别,系别,3.6.1 数据表排序,排序是把数据表中的记录按照某个字段值的大小重新排列,作为排序依据的字段称为“关键字” 按照关键字的值从小到大的排序称为升序,从大到小的排序称为降序 排序后生成一个新的数据表文件,其结构和数据可以与源文件完全相同,也可以取自源文件的一部分字段 命令: SORT TO FIELDS FOR ON /A/D/C,/A/D/C ASCENDING|DESCENDING /A表示升序,/D表示降序,/C表示字母不分大小写。默认为升序,3.6.1 数据表排序,【例3.30】对“学生”表中所有贷款的学生按“系别”的升序排序,排序后的新表文件名为“贷款学生”: USE E:VFP6DATA学生 SORT TO 贷款学生 ON 系别 FOR 贷款否 【例3.31】将“学生”表按“系别”升序进行排序,系别相同者,按“学号”降序进行排序,排序后的新表文件名为“各系学生”: USE E:VFP6DATA学生 SORT TO 各系学生 ON 系别,学号/D 【练习】分别显示所有学生中总分为最高和最低同学的姓名和各门课程的成绩,3.6.2 数据表索引_1.基本概念, 索引是由指向表记录的指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序 索引文件和表文件分别存储,并且不改变表中记录的物理顺序,3.6.2 数据表索引_1.基本概念, 索引的类型(从组织方式分类),3.6.2 数据表索引_1.基本概念, 索引关键字 索引关键字是指建立索引用的字段或字段表达式,可以是表中的单个字段,也可以是几个字段组成的表达式 索引表达式通常用字符串运算符“+”将几个字段连接起来。若组成表达式的字段具有不同类型时,则必须使用函数对字段进行类型转换,使其具有相同的数据类型。一般多字段排列,都将相应的字段转换成C型表达式 例如,STR()函数可将N型数据转换为C型数据,DTOC()函数可以把D型数据转换为C型数据,3.6.2 数据表索引_1.基本概念, 索引关键字的类型(按功能分类),3.6.2 数据表索引_2.建立索引, 建立独立索引 利用表设计器:选择“索引”选项卡 命令: INDEX ON TO UNIQUE|CANDIDATEASCENDING|DESCENDINGFOR UNIQUE表示惟一索引;CANDIDATE表示候选索引;“无”表示普通索引 ASCENDING表示升序(默认),DESCENDING表示降序 例如,为“学生”表按姓名和出生日期建立独立索引文件SY1,USE E:VFP6DATA学生 INDEX ON 姓名DTOC(出生日期) TO SY1,3.6.2 数据表索引_2.建立索引, 独立索引文件的打开 与表文件同时打开:USE INDEX 打开表文件后再打开:SET INDEX TO 独立索引文件的关闭 与表文件同时关闭:USE 单独先关闭:SET INDEX TO,3.6.2 数据表索引_2.建立索引, 建立复合索引 利用表设计器:选择“索引”选项卡 命令: INDEX ON TAG UNIQUE|CANDIDATEASCENDING|DESCENDINGFOR UNIQUE表示惟一索引;CANDIDATE表示候选索引;“无”表示普通索引 ASCENDING表示升序(默认),DESCENDING表示降序,3.6.2 数据表索引_2.建立索引,【例3.32】为“学生”表建立结构复合索引,包含学号(候选索引)、性别(普通索引)、系别与性别(普通索引)、系别与出生日期(普通索引)4个索引项 USE E:VFP6DATA学生 INDEX ON 学号 TAG 学号 CANDIDATE INDEX ON 性别 TAG 性别 INDEX ON 系别+性别 TAG 系别_性别 INDEX ON 系别+D

温馨提示

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

评论

0/150

提交评论