首页 数据库应用基础---电子教案

数据库应用基础---电子教案

举报
开通vip

数据库应用基础---电子教案数据库应用基础---电子教案 Visual FoxPro数据库程序设计 (2011 --2012 学年上学期) 140班 责任教师:曹灿玺 教学内容 第1章 Visual FoxPro基础 教学大纲 ?有教学大纲 无教学大纲 计划学时 20 通过本章内容的学习~能够了解数据管理技术的发展过程~了解当前主流的DBMS产教学目的 品及数据库技术在信息社会中的作用。正确理解数据库、数据库管理系统、数据库系统的 定义~理解和掌握项目管理器的作用及使用方法。 教学重点、难点及教学方法 重难点内容 重难点标识...

数据库应用基础---电子教案
数据库应用基础---电子 教案 中职数学基础模块教案 下载北师大版¥1.2次方程的根与系数的关系的教案关于坚持的教案初中数学教案下载电子教案下载 Visual FoxPro数据库程序设计 (2011 --2012 学年上学期) 140班 责任教师:曹灿玺 教学内容 第1章 Visual FoxPro基础 教学大纲 ?有教学大纲 无教学大纲 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 学时 20 通过本章内容的学习~能够了解数据管理技术的发展过程~了解当前主流的DBMS产教学目的 品及数据库技术在信息社会中的作用。正确理解数据库、数据库管理系统、数据库系统的 定义~理解和掌握项目管理器的作用及使用 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。 教学重点、难点及教学方法 重难点内容 重难点标识 教学方法 通过PPT幻灯片和动态图像演示加以说明,重点掌握数据库的定义,数据库的定义 ?重点?难点 尤其注意VFP中的数据库和以前foxbase中数据库概念的区别 通过PPT幻灯片和实例进行讲解,重点掌握数据库的冗余度,共享数据库的特点 ?重点?难点 性,独立性的概念。 了解数据库系统的概念及其组成,以教务管理系统,图书管理系统数据库系统 ?重点 难点 等实例说明其与数据库及数据库管理系统的区别和联系。 通过PPT幻灯片进行讲解,重点掌握关系模型的性质,关系的规范关系模型 ?重点?难点 化。 PPT播放,了解DBMS的发展,重点掌握Visual forpro的工作环境?重点 难点 DBMS 和工作方式。 在VFP编程环境下演示说明项目管理器的作用,重点掌握在项目管项目管理器 ?重点 难点 理器中新建文件,添加文件,移去文件等操作。 教改 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 及 整合教学内容,强化基础训练;努力营造生动活泼的课堂气氛,搭建师生间良好的沟实施要点 通渠道;采用多媒体教学与传统的板书设计相结合的方式,教学手段灵活多变。 创新能力培养方让学生明确创新思维是发现问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 、积极探索的心理取向,教育学生能在课堂上富于想法及要点 象、敢于提出问题;结合本校的教务管理系统,引导学生理论联系实际,培养学生动 手能力。 授课具体内容及实施过程 一、导入新课 1、介绍《新编Visual Foxpro教程》课程使用的教材、参考书、上机环境、学习方式、考核方式与教学计划。 2、通过提问引导学生思考 (1)“数据库”名词已是家喻户晓,你所认为的数据库概念是什么样的, (2)你认为数据库有什么作用与功能, (3)据你了解,数据库在社会上都有哪些应用, - 1 - 二、本章学习要求 1、了解数据管理的发展过程。 2、理解数据模型的概念,重点掌握关系模型。 3、理解掌握数据库的概念。 4、了解DBMS的常见产品。 5、了解VFP的编程环境。 6、掌握项目管理器的概念及作用。 三、具体内容 一、第一次课 1(1 数据管理技术的发展 数据处理的定义: 是对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。 数据处理的五个步骤:收集原始数据、编码转换、数据输入、数据处理、数据输出。 数据管理技术发展的三个阶段: (1)人工管理阶段 (2)文件系统阶段 (3)数据库系统阶段 1(2 数据库系统的组成 1. 基本概念 (1) 数据库(DataBase DB) 定义:是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。 具有最小的冗余度 具有数据独立性 实现数据共享 特点 安全可靠 保密性能好 (3) 数据库管理系统(DataBase Management System DBMS) 定义:是操纵和管理数据库的系统软件。 组成:如下图所示。 - 2 - 模式修改 查询 数据修改 “查询”管理器 事务管理器 存储管理器 数据和元数据 关系型数据库使用的标准语言是结构化查询语言(Structured Query Language,SQL)。 (4) 数据库系统(DataBase System DBS) 定义;是以数据库应用为基础的计算机系统。 层次型数据库 分网状型数据库 类 关系型数据库 第一代 非关系型数据库系统,60年代末问世,包括层次型和网状 分代 第二代 关系型数据库系统(RDBS),70年代中期问世。 第三代 对象-关系数据库系统(ORDBS 、OOBDS),80年代中期至今。 上述几个概念之间的联系:在数据库系统中通过数据库管理系统来建立和使用数据库。 2. 数据库系统的组成 一个完整的数据库系统由数据库、数据库管理系统、数据库管理员和应用程序组成。 数据库 硬件:计算机硬件设备 组成划分 软件:数据库管理系统 、操作系统、开发工具、应用程序 用户:应用程序设计员、终端用户、数据库管理员 1.3 数据模型 1( 数据模型分类 实体模型:即反映事物联系的实体。 数据模型:即描述实体模型的数据,是在数据库领域中定义数据及其操作的一种抽象表示。根据适用对象 不同,数据模型分为两类:概念模型和逻辑数据模型。 逻辑数据模型:用来刻画实体在数据库中的存储形式及实体之间联系的数据模型,简称数据模型。 逻辑数据模型的分类 网络模型(采用无向图型结构) - 3 - 网络模型(采用无向图型结构) 关系模型(采用二维表结构) 面向对象模型(用类和对象的概念来表示 2. 关系模型 关系模型:用二维表表示实体集,通过外部关键字表示实体间联系的数据模型。 关系模型的性质 属性值是原子的,不可以再分解 二维表的记录数随数据的增加而改变,但其字段数是相对固定的 二维表中的每一列均有唯一的字段名 二维表中不允许出现完全相同的两行 二维表中行的顺序、列的顺序均可以任意交换 超关键字: 能唯一确定记录的一列或几列的组合 候选关键字:最简练的超关键字 二维表的主关键字 主关键字: 候选关键字中的一个 外部关键字:当A表的主关键字被包含到B表中时,则称A表的主关键字为B 表的外部关键字。 关系型数据库:根据表、记录和字段之间的关系进行组织和访问的一种数据库。 Visual FoxPro 属于一种中小型关系型数据库管理系统。 关系的规范化:通过关系中属性的分解和关系模式的分解来实现,以减少数据冗于、消除插入和删除异常、 增强数据独立性、便于用户使用。 举例:设计一个书店有关图书订购的数据库,属性有N#(订单号)、C#(订户代号)、CN(订户名)、 CA(订户地址)、B#(书号)、BN(书名)、PU(出版社)、UP(单价)、QA(订购数) 根据这9个属性可以构造多种不同的关系模式,其中两种如下: 模式1( N-C-B(N#,C#,CN,CA,B#,BN,PU,UP,QA) 模式2. C(C#,CN,CA) 分为3个关系 B(B#,BN,PU,UP) N(N#,C#,B#,QA) 作业:P - 4 - 二、第二次课 1( 4主流的DBMS产品介绍 产品名称 开发公司 首发时简介 间 在数据库领域一直处于领先地位,是世界上使用最广泛的大型Oracle Oracle 1977 关系型数据库管理系统,其1999年推出的Oracle8i是世界上 第一个互联网数据库产品,2002推出最新产品Oracle 9i。 DB2 UDB(通用数据库)是为UNIX、OS/2、Windows NT提 供的关系型数据库解决方案,能够在各种系统中运用,最新版DB2 IBM 1983 本8.0。IBM公司2001年用10亿美金收购了 Informix(世界 第4大数据库厂商),使DB2成为全球第二大数据库产品。 是一个以“客户/服务器数据库体系结构”为开发目标的面向Sybase Sybase 1992 联机事务处理的大型关系型数据库管理系统。 是Windows平台上最为流行的中型关系型数据库管理系统,MS-SQL 采用客户/服务器体系结构,图形化用户界面,支持Web技术,Microsoft 1988 Server 支持多种数据库文件的导入,全球第三大数据库产品。最新版 本2003 基于Windows平台的桌面式的小型关系型数据库管理系统, 单文件型数据库,是Office软件包的一个组成部分,有可视化Access Microsoft 1992 开发环境,对简单应用软件可以实现无代码编程。目前比较流 行的开发工具都支持Access数据库。最新版本2003 基于Windows平台的兼备应用程序开发和数据库管理功能的Visual 小型关系型数据库管理系统,其数据库可以升迁为Oracle和Microsoft 1996.1 Foxpro MS-SQL Server,可以开发桌面、客户/服务器体系结构和Web 的数据库应用程序,新版支持.NET框架。最新版本VFP8.0 主要数据库产品一览表 1(5 Visual FoxPro 6.0概述 1( VFP6.0的特点 完善了关系型数据库的概念,采用了复合索引技术,引入了SQL命令;支持多种数据交换格式; 采用了可视化的面向对象的程序设计方式;提供了功能较完善的集成环境和丰富的开发工具。 2( VFP6.0的用户界面 界面基本组成: 标题栏、主菜单栏、工具栏、主窗口、命令窗口、状态栏 3( VFP 6.0的工作方式 (1) 菜单操作方式 - 5 - 根据所需的操作从菜单中选择相应的命令(与WORD类似)。每执行一次菜单命令,命令窗口中 一般都会显示出与菜单对应的命令内容。 利用工具菜单中的向导可以很方便地完成常规任务。 (2) 命令交互方式 采用人机对话方式 根据所要进行的各项操作,在命令窗口中按格式要求逐条输入所需命令,按回 车后,机器逐条执行。 (3) 程序执行方式 先在程序编辑窗口中编完程序,再从程序菜单中选择执行,或从命令窗口中输入DO命令,让机 器执行。 4. VFP 6.0的一些规则 (1) VFP6.0 的命名规则: , 只能使用字母、下划线和数字。 , 使用字母或下划线作为名称的开头。 , 名称可以是 1 至 254 个字符,但自由表的字段名和索引标识最多只能有 10 个字符。 , 避免使用 Visual FoxPro 的保留字。 , 文件的命名遵循操作系统的约定。 (2) 命令和子句的书写规则 1) 以命令动词开始; 2) 各部分之间要用空格隔开; 3) 命令、子句、函数名都可简写为前4个字符,大、小写等效; 4) 一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;” 5) 变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发 生混乱。 6) 命令格式中的符号约定:命令中的[ ] 、| 、…符号都不是命令本身的语法成分,使 用时不能照原样输入, 其中:[ ] 表示可选项,根据具体情况决定是否选用 | 表示两边的部分只能选用其中的一个 „ 表示可以有任意个类似参数,各参数间用逗号隔开 (3) 命令工作方式中的常见错误 (1) 命令动词写错 (2) 格式不符合要求 , 标点符号不对 (一定要用半角标点符号) , 缺少必需的空格或添加了不该有的空格 , 数据类型不一致, 要注意字符型、数值型、日期型、逻辑型数据的书写格式 (3) 打不开所需文件:没有正确输入盘符和路径 或 文件名输错 - 6 - 5 . VFP 6.0几个常用的命令 命令 功能 使用示例 引导整行注释,放在行首 * 这是一个计算程序 * 引导注释,放在其它命令的后面 Use xs && 打开学生表 && 在VFP主窗口中显示表达式的值 ? date( ) &&显示系统日期 ? 功能同上,但显示内容不换行 ?? time( ) &&显示系统时间 ?? 清除主窗口中的信息 clear claer 关闭所有文件,退出VFP环境 quit quit 6. 配置VFP操作环境 常用的配置操作是 设置系统默认路径: 工具菜单?选项?文件位置?默认目录?修改?钩上“使用默认目录”?选择?确定?设为默认值?关闭窗口。 7. VFP 6.0常用文件类型 VFP 6.0常用的文件扩展名及其关联的文件类型 扩展名 文件类型 扩展名 文件类型 .app 生成的应用程序 .frx 报表 .exe 可执行程序 .frt 报表备注 .pjx 项目 .lbx 标签 .pjt 项目备注 .lbt 标签备注 .dbc 数据库 .prg 程序 .dct 数据库备注 .fxp 编译后的程序 .dcx 数据库索引 .err 编译错误 .dbf 表 .mnx 菜单 .fpt 表备注 .mnt 菜单备注 .cdx 复合索引 .mpr 生成的菜单程序 .idx 单索引 .mpx 编译后的菜单程序 .qpr 生成的查询程序 .vcx 可视类库 .qpx 编译后的查询程序 .vct 可视类库备注 .scx 表单 .txt 文本 .sct 表单备注 .bak 备份文件 - 7 - 1.6 项目管理器 1( 项目管理器简介 项目:是一种文件,用于跟踪创建应用系统所需要的所有程序、表单、菜单、库、报表、标签、 查询和一些其他类型的文件。 项目管理器:是开发VFP应用系统的一个工具,它生成一个项目文件,项目文件的扩展名为 .PJX, 项目备注的扩展名为: .PJT。 项目管理器的功能: 组织和管理所有与应用系统有关的各种类型的文件。 项目管理器窗口的组成: 6大类数据项(全部、数据、文档、类、代码、其他)和10个命令按 钮(新建、添加、修改、浏览、关闭、打开、预览、运行、移去、连编)。 项目菜单的组成: 13个子菜单(其中一部分与项目管理器中的命令按钮功能相同)。 2( 创建项目文件 用菜单方式:文件菜单 ? 新建 ? 项目 ? 新文件 ? 给出合适的项目文件名及保存位置 ? 进入项目管理器 ?开发应用系统?完成后关闭窗口退出。 用命令方式: 语法:CREATE PROJECT <项目文件名> 功能:打开项目管理器窗口进行应用系统的开发。 3( 修改项目文件 用菜单方式:文件菜单 ? 打开 ? 找到所需的项目文件并确定之 ? 进入项目管理器 ? 修改 应用系统 ? 完成后关闭窗口退出。 用命令方式: 语法: MODIFY PROJECT <项目文件名> 功能:打开项目管理器窗口进行应用系统的修改。 4( 项目管理器的使用 可以利用项目管理器来创建、打开、浏览、修改所有VFP文件并运行其中的表单、报表、标签、 菜单、程序等。特别是可以利用它来连编项目(追踪这些文件的变化情况,包括它们之间的相关 性、引用和连接等,确保引用的完整,并加入自上次连编之后更新了的一些组件)、应用程序(扩 展名为 .APP,在VFP环境下执行)和可执行文件(扩展名为 .EXE,能脱离VFP环境执行)。 操作要领: 选择目标?点右键?看快捷菜单?进行所需操作 三、第三次课 实验名称:实验一 VFP集成环境的使用和项目的建立 实验内容:详见《实验指导》P1,11 作业:完成实验报告。 - 8 - 一、第一次课 1.7 数据类型 VFP 6.0数据类型比较 代字段类型 说明 字段宽度 使用示例 号 字母、汉字和数字型文每个字符为1个字节,最多可有 学生的学号或姓名, 字符型 C 本 254 个字符 "8199101" 或 '李立' 货币型 Y 货币单位 8 个字节 工资, $1246.89 包含有年、月和日的数出生日期, 日期型 D 8 个字节 据 {^1981/02/20} 包含有年、月、日、时、上班时间, 日期时间型 T 8 个字节 分、秒的数据 {^2002/05/12 9:15:15 AM} “真”或“假”的布尔课程是否为必修课, 逻辑型 L 1 个字节 值 .T. 或 .F. 在内存中占 8 个字节;在表中数值型 N 整数或小数 考试成绩, 83.5 占1 至20个字节 双精度型 B 双精度浮点数 8 个字节 实验要求的高精度数据 浮点型 F 与数值型一样 整型 I 不带小数点的数值 4 个字节 学生的数量 通用型 G OLE 对象 在表中占 4 个字节 图片或声音 备注型 M 不定长度的一段文字 在表中占 4 个字节 学生简历 字符型(二进任意不经过代码页修每个字符用1个字节,最多可有 C 制) 改而维护的字符数据 254 个字符 备注型(二进任意不经过代码页修M 在表中占 4 个字节 制) 改而维护的备注数据 1.8 数据容器 VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。 (1) 常量(constants):一个在操作过程中保持不变的数值或字符串。 常用的常量类型 常量类型 数值型常量 字符型常量 逻辑型常量 日期型常量 表示方式 -25.36 "abc","123","中国" .T. .F. {^2005/02/28} 注意:空日期值用{ }表示。VFP6.0默认的日期格式为严格的日期格式(避免千年虫问题),如果要采用传统的 日期格式{02/28/05},必须用set strictdate命令进行设置。命令格式为: set strictdate to 0 | 1 | 2 其中0表示不进行、1 表示要进行严格的日期格式检查,2表示要检查,且对CTOD( )和DTOC()函数 也进行严格的日期格式检查。 - 9 - (2) 变量(variables):是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变 量名)不变。 变量的命名习惯: 类型变量代号 如:cStud 、nCj 、dCsrq ——分别代表一个字符型、数值型、日期型的变量名 变量的赋值方式: 1) 用 STORE 命令 如:STORE "王兰" TO cStud 2) 用赋值操作符 = 如:cStud = "王兰" 注意: 第1)种方法适合一次给多个变量赋相同值,而第2)种方法适合给不同变量赋不同的值。 变量的作用域: 即变量起使用的有效范围。 定义作用域的变量作用域 特点 关键字 局部变量 只能在一个函数或过程中被访问,其他过程或函数不能访问此变量的数local variable(本地LOCAL 据。当其所属程序停止运行时,局部变量将被释放。 变量) 私有变量在 VFP 中是默认的,不需要特殊的关键字定义。但是,如果在 私有变量 更高一级例程(routine)中已经有同名变量,可以用 PRIVATE 关键字予PRIVATE 以声明,以限定其范围。当定义此变量的例程结束时,此变量也被相应释private variable 放。可使用私有变量在被调用的函数中共享数据。 可用于所有过程和函数,而不限于定义该变量的过程和函数。可使用全局公共变量 PUBLIC 变量在多个过程或函数之间共享数据,在命令窗口中创建的任何变量自动public variable 具有全局属性。 变量的访问: 当变量和字段同名时,字段有优先被访问权。要在变量名前加 m. 或 m -> 以示区别,如 m.cStud (3) 数组(array):是存储在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是 同一种数据类型。常用的有一维数组,二维数组。 数组元素的标识:通过一个数值下标来引用,如 AA[2],AA[2,3] 私有数组:用DECLARE 或 DIMENSION定义 数组类型的声明 全局数组:用PUBLIC命定义 局部数组:用LOCAL定义 用赋值语句: 如 AA=45 用SCATTER从当前记录中取特定字段的值赋给数组: 数组元素的赋值 如: scatter fields xh, xm, xb to aa (数组长度、类型自动与所给字段相同) 用 COPY TO ARRAY从当前记录中取所有字段的值赋给数组: - 10 - 如: copy to array aa (数组长度、类型自动与表中全部字段相同) 把数组中的数据传给当前表中的当前记录: gather from 数组名 [fields 字段名表] 用数组向当前表添加记录:append from array 数组名 [for 条件] [[fields 字段名表] (用二维数组可以同时添加多条记录) 数组处理的常用函数: 排序SORT(),搜索ASCAN(),删除ADEL(),插入AINS() (4) 记录:表中的一行,由字段组成。 (5) 对象: 对象是类的一个实例,类是对拥有数据和一定行为特征的对象集合的描述。VFP对象可以是表单、表单集、 控件。 1.8 VFP 6.0的语言成分 汉语 VFP 命令 词汇 语言基本成分 函数 成语 表达式 句子 编程 写文章 , 单一功能的模块 , 造句 , 小型程序 , 日记、短文 应用 , 中型程序 , 小说 , 大型程序 , 巨著 , 优秀程序 , 名著 1. 命令:由用户发出的、指示VFP进行某种操作的指令。 如 USE xs (打开 一个名为xs.dbf的数据表) 2. 函数:一个预先编制好的模块,可由VFP程序在任何地方调用。 函数的使用方法:名称、功能、参数、返回值 常用函数 名称 命令格式 示例 ? SUBSTR(“ABCDEFG”,2,4) 结果是: BCDE SUBSTR( expC , expN1 [, expN2 ]) 字符串 截取函? LEFT(“ABCDEFG”,2) 结果是: AB LEFT( expC , expN ) 数 ? RIGHTT(“ABCDEFG”,4) 结果是: DEFG RIGHT( expC , expN ) 求字符,LEN(“VFP”)+5 结果是:8 LEN(expC ) 长度 - 11 - ? AT(“B”, “ABCDE”) 结果是: 2 字符串AT ( expC1, xpC2 [ expN ]) 区分大小写 ? AT(“A”, “ABCDEASD” ) 结果是: 1 查找函? AT(“A”, “ABCDaASD”, 2 ) 结果是: 6 数 ? ATC(“A”, “ABCDaASD”, 2 ) 结果是: 5 ATC( expC1, expC2 [ expN ]) 不区分 大小写? LOWER(“DFGHa”) 结果是: dfgha LOWER( expC ) 字母转 ? UPPER(“asdf”) 结果是: ASDF UPPER( expC ) 换函数 MAX( exp1 , exp1 [, exp3 ,„]) ? MAX(15,23,4,56) 结果是: 56 MIN( exp1 , exp1 [, exp3 ,„]) ? MIN(15,23,4,56) 结果是: 4 ABS( expN ) ? ABS(-15.83) 结果是: 15.83 INT( expN ) ? INT(25.62) 结果是: 25 数值函 数 MOD(被除数,除数)取余数/取模 ?MOD(12,5) 结果是: 2 ROUND(expN , exp1) 四舍五入圆整 ? ROUND(128.175,2) 结果是: 128.18 SQRT(expN) 开平方 ?SQRT(144) 结果是:12.00 RAND( ) 取0,1之间的随机数 ?RAND( ) 结果:每次变化的小数 压缩空? ALLTRIM(“ AD B G “) 结果是: AD B G ALLTRIM( expC ) 格函数 ? STR(56789.678,8,2) 结果是: 56789.68 STR( expN1 [, expN2 ][, expN3 ]) ? CTOD("01/10/98") 结果是: 01/10/98 CTOD( expC ) ? VAL("123.45") 结果是: 123.45 VAL( expC ) 类型转 换函数 CHR(expN) ,CHR(65) 结果是: A ASC(expC) ,ASC(‘BCD’) 结果是: 66 ? DTOC({^1998/12/15}) 结果是: 12/15/98 DTOC( expD ) ? DATE() 结果是: 2000/03/15 DATE() ? TIME() 结果是: 10:15:30 TIME() ?YEAR({^1987/03/25}) 结果是: 1987 YEAR( expD ) 日期时 间函数 MONTH(expD) ?MONTH({^1987/03/25}) 结果是: 3 DAY(expD) ?DAY({^1987/03/25}) 结果是: 25 DOW(expD) 返回星期几 ?DOW({^2005/02/28}) 结果是: 2 X=30 BETWEEN(变量, 下界, 上界) ?BETWEEN(X,14,60) 结果是:.T. 其它常 用函数 IIF(expL,exp1,exp2) ? A=IIF(X>30,1,2) 结果是:2 INLIST(变量,值1,值2,„„) ?INLIST(XB,‘男’,‘女’) 结果是:.T. /.F. - 12 - TYPE(xpC) 返回表达式类型 ,TYPE(’DATE()’) 结果是:D FILE(文件名) ,FILE(‘d:\sj\abc.dbf’)测试是否存在指定文件 RECNO( ) 返回当前记录号 判断记录指针是否位于记录尾 EOF( ) 判断记录指针是否位于记录头 BOF( ) 数据库 函数 返回当前数据库的名字和路径 DBC( ) RECCOUNT() 返回数据表中记录总数 自定义函数:由用户为自己的应用程序创建的专用函数,可作为独立的程序文件保存在磁盘上也可作为过程文件存放在其他程序中。 作业: 二、第二次课 3. 表达式 即:变量、操作符、常量、函数、字段名、控制以及属性的组合,求值结果为单个值。 算术表达式:由算术操作符和数值型数据构成的表达式。 字符表达式:由字符操作符和字符型数据构成的表达式。 日期表达式:由日期操作符和日期、时间型数据构成的表达式。 表达式的类型 逻辑表达式:由逻辑操作符和逻辑型数据构成的表达式。 名称表达式:由圆括号括起来的一个字符表达式,用来替换命令或函数中的名称。 例: DBF_NAME=”学生成绩登记表” USE (DBF_NAME) 宏替换: 用宏替换符号 & 表示,宏替换与名称表达式具有相似的作用。 例: 已知 A=”1”, B=”2”, C12=”GOOD” 则 C&A&B=”GOOD” 1.9VFP程序设计基础 1. 基本概念 程 序: 为解决某一问题而设计的一系列指令。 主程序: 通常被用户直接执行的程序。 子程序: 在程序中被调用的程序。 源程序: 由人用源语言编写的计算机程序,必须翻译成机器语言后才能被执行。 目标程序 : 是源程序经过编译后所产生的机器语言程序。扩展名一般为 .DBJ 可执行程序:源程序被编译后产生的可被机器直接执行的程序,具有 .EXE 扩展名。在VFP中是指由项目 - 13 - 管理器连编生成的、可脱离VFP环境运行的程序。 应用程序: 指为完成专门工作而设计的一组相互联系的例行程序和子程序。在VFP中是指一组 Visual FoxPro 程序、表单、菜单和其他文件经项目管理器连编后形成的单个程序,不能脱离VFP 环境运行,扩展名为.APP。 例行程序: 按某种顺序排列的、使计算机能执行某种任务的指令集合,可以是一种专用的程序或作为程序的一部分。 它可由若干个子程序组成。 2. 程序设计方法简介 设计方法 主要概念 设计过程 程序执行方式 功能模块(即过编制各个功能模块,再用主程将应用程序分解成若干功能模块,通过各模结构化程程、自定义函序将它们串起来 块的相互调用来完成整个执行过程,是过程序设计 数) 驱动的。 类、对象、属性、设计类、子类、对象(设计外将应用程序分解成具有特定属性的对象,通面向对象事件、方法 观、设置属性、为事件编写方过调用各对象的不同方法来完成相关事件,程序设计 法程序) 是事件驱动的。 作业: 三、第三次课 实验二:变量、函数和表达式的使用 实验内容:见《实验指导》P12,17 作业:完成实验报告 四、第四次课 3. 程序控制 顺序语句 按程序中的语句顺序依次执行。 分支语句 - 14 - 循环语句 - 15 - 循环结构中的LOOP命令和EXIT命令: LOOP是短路语句,表示从此开始下一次循环; EXIT是退出语句,表示跳出循环。 (4) 子程序 子程序的的形式可以是一个程序文件,也可以是一个过程或自定义函数。 子程序 自定义函数 过程 总是被其他程序调用而不单是一个程序段,是程序的组特能以一个独立的文件储存,也可包含独执行,可以调用其他子程序,成部分,一般放在程序的最点 在调用程序中,必须返回一个值。 不一定要返回一个值。 后。 与程序相同,只是在子程序的FUNCTION 函数名 结尾加需一条返回命令: MODIFY COMMAND 函数名 定PROCEDURE 过程名 RETURN [ 表达式 |TO PARAMETERS 参数表 义PARAMETRS 参数表 MASTER |TO 程序文件名] 命令组 方 命令组 RETURN 表达式 法 RETURN 注:用此命令定义的函数以独立的文 件形式储存。 调 用DO 子程序名[WITH 参数 = 函数名 ( 参数表 ) DO过程名WITH 参数表 方表 ] 法 4. 创建应用程序 方法 一: 在命令窗口中输入: MODIFY COMMAND 程序名 方法 二: 文件菜单 ? 新建 ? 程序 ? 新文件 ? 在编辑窗口中编辑程序 ? 完成后关闭 ? 给出合适 的程序名及保存位置 。 程序的注释: 方法1: * | NOTE <注释内容> 可出现在程序中的任何地方 方法2: && <注释内容> 一般用于命令的尾部 给程序加注释的目的是为了提高程序的可读性。 面向过程的程序设计三步曲: 输入 ? 处理 ? 输出 5. 修改应用程序 方法 一: 在命令窗口中输入: MODIFY COMMAND 程序名 | , 注: ? 表示不知道程序名,要从打开对话框中选定。 方法 二: 文件菜单 ? 打开 ? 选择所需程序并打开 ? 在编辑窗口中对程序进行修改 ? 完成后关闭退 出 6. 执行应用程序 方法 一: 在命令窗口中输入: DO 程序名 | , - 16 - 方法 二: 从程序菜单中选择执行 ? 从打开对话框中选择所需程序并执行之。 7. 程序设计的基本步骤 (1) 对问题进行说明 (2) 分解问题 (3) 编制各模块 (4) 测试并完善各模块 (5) 组装全部模块 (6) 整体测试 作业: 五、第五次课 实验三:分支和循环程序设计 实验内容: 1、《实验指导》P35,38 分支程序设计 2、《实验指导》P39,42 循环程序设计 作业:完成实验报告 - 17 - 教学内容 第2章 数据库和表 通过本章内容的学习,理解掌握表的创建、打开与关闭、数据的输 入与编辑修改、删除等方法,掌握指针的定位方法,掌握数据表之间的教学目的 复制方法以及数据表与文本文件间的数据交换方法, 理解掌握表索引的 建立和使用方法。 教学重点、难点及教学方法 重难点内容 重难点标识 教学方法 通过PPT幻灯片,以学生表为例进行讲解,重点掌握表的概念 ?重点 难点 表结构,字段的含义,字段属性。 通过PPT幻灯片和实例进行讲解,重点掌握表设计器建立与操作?重点?难点 的使用,操作表的有关命令,尤其是create table,insert 表 into ,alter table等命令的使用。 通过PPT幻灯片和实例讲解记录定位的含义,记录指 针的作用,重点掌握绝对定位,相对定位,条件定位记录的定位 ?重点?难点 的方法,尤其注意bof(),eof(),recno()函数的使用方法 及其返回值。 通过PPT幻灯片和实例讲解工作区的含义和作用,重工作区 ?重点?难点 点掌握工作区别名,当前工作区,表的别名的含义。 注意select命令与select()函数的异同。 通过PPT幻灯片和实例讲解表的关键字的含义和作关键字 ?重点?难点 用,重点掌握超关键字,侯选关键字,主关键字和外 部关键字的联系和区别。 通过PPT幻灯片讲解索引的含义和作用,理解索引文索引 ?重点?难点 件的类型,通过索引对照表的内容,重点掌握主索引, 侯选索引,普通索引,唯一索引的联系和区别。 通过在VFP编程环境下演示索引的建立和使用过程,索引的建立?重点?难点 重点掌握索引表达式的书写方法,尤其注意基于多个和使用 字段建立索引的方法和技巧。 整合教学内容,强化基础训练;努力营造生动活泼的课堂气氛,搭建师教改方案及 生间良好的沟通渠道;采用多媒体教学与传统的板书设计相结合的方实施要点 式,教学手段灵活多变。 创新能力培让学生明确创新思维是发现问题、积极探索的心理取向,教育学生能在养方法及要课堂上富于想象、敢于提出问题;结合本校的教务管理系统,引导学生 点 理论联系实际,进行数据库表的设计。 - 18 - 授课具体内容及实施过程 一、回顾上章主要内容 1、VFP中各种数据类型的特点。 2、变量和数组的含义及用法。 3、各种运算符的使用。 4、常用系统函数的使用方法。 5、分支结构、循环结构以及子程序。 二、本章学习要求 1、掌握建立表结构、向表中添加数据及其它对表的有关操作的方法。 2、理解掌握工作区的概念及用法。 3、理解表的打开和关闭的含义。 4、理解掌握索引的有关概念,建立索引和使用索引的方法。 5、掌握有关表操作的一些常见命令和函数。 三、具体内容 一、第一次课 2.1 VFP6.0表 1. 表的概念 表(数据表):是指存放在磁盘文件中的一张二维表。 自由表:不属于任何数据库的表。 数据库表:包含在一个数据库中的表。 表文件名: 表名可以由字母、数字或下划线组成,系统自动给出的扩展名为 .DBF。 备注文件名 :当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名 为:.FPT的文件名。 表结构:存储表记录的公共结构。(其实就是指一张表的表头结构,即字段的属性)。 记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。 字段:表中的一列。它规定了数据的特征。 关系型数据表的特点:(1)每一个字段不可再分解,也不能有名字相同的字段; (2)每一列中的数据都有相同的数据类型; (3)表中没有内容完全相同的行(记录)。 2. 字段的基本属性 字段的属性:字段名、数据类型、字段宽度、小数位数、空值支持 字段名:即每个字段的名字,必须以字母开头,可由字母、数字 、下划线组合而成,字母大、小写 无区别,但其中不许有空格或其它字符。自由表的字段名最多由10个字符组成, 数据库表 的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段 名将被截短成 10 个字符。 VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。 - 19 - 数据类型: 指该字段的数据特征。 字段宽度:指该字段所能容纳数据的的最大字节数。 小数位数:指数值型数据将保留几位小数。此时的字段宽度 = 整数位数+1+小数位数。 NULL 值(空值):无明确的值。NULL 值不等同于零或空格。一个 NULL 值不能认为比某个值(包 括另一个 NULL 值)大或小,相等或不同。 3. 表的基本操作 表的创建 设计表名和表结构 输入记录 建立索引 数据维护 增加记录 修改记录 删除记录 创建表的主要步骤: 设计表结构 ? 输入记录 ? 建立索引 ? 数据维护 4(关于表操作的几个基本命令 命令格式 功能 CREATE 表文件名 创建一个新的自由表的结构 USE 表文件名 打开指定的表文件 关闭当前表文件 USE 显示当前表的全部记录内容(类似于DOS 命令中的dir) LIST ALL 分屏式地显示当前表的全部记录内容(类似于DOS中的dir/p) DISPLAY ALL 显示当前表的结构(分屏显示) DISPLAY STRUCTURE 显示当前表的结构(不分屏显示) LIST STRUCTURE MODIFY 调出表设计器,修改当前表的结构。 STRUCTURE 清除主窗口中的所有内容 CLEAR 注意: 必须先打开所需的数据表才可进行以上操作 当带有命令子句时,只对指定的记录进行操作 LIST 命令的默认范围是所有记录,DISPLAY 命令的默认范围是当前记录。 2.2 表结构的创建和修改 - 20 - 1( 表结构的创建 创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导或SQL命令来创建表结构。 单击在新建对在表设计器对话框在创建对话 文件话框中选中逐个输入所需字框中给出文 菜单择表并单段(用?或鼠标换件名并确定 中的击新文件 行),全部字段输完所需的保存 新建 后单击确定 位置 (1) 使用表设计器 单击在新建对 在表向导中在表向导中 文件话框中选做第一步:选做第二步:修 菜单择表并单取字段,完成改字段设置, 中的击向导 后单击下一完成后单击在表向导中在表向导中做在另存为对新建 步 下一步 做第三步:表第四步:完成, 话框中给出 索引,完成后选择表的保存文件名并确 单击下一步 方法,然后单击定所需的保 完成 存位置 (2) 使用表向导 * 注意:先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修 改或直接采用原字段的宽度。 (3) 使用 CREATE TABLE - SQL命令 该命令的一般格式为: CREATE TABLE |dbf 表文件名(字段名1 字段类型[(字段宽度[,小数位数])]; [,字段名2 字段类型[(字段宽度[,小数位数])]]„„) 例: CREATE TABLE xscj(xh c(8),xm c(6), xb c(2),; cj n(5,1),ksrq d) 2. 表结构的修改 (1) 用表设计器修改 , 用菜单调出表设计器: 打开所需的表文件 ? 单击显示菜单中的表设计器 ? 在表设计器对话框中对字段进行修改 ? 修改 完毕单击确定并在消息框中选择是。 , 用命令调出表设计器: - 21 - USE 表文件名 MODIFY STRUCTURE (2) 使用 ALTER TABLE - SQL命令 功能 命令格式示例 添加字段 ALTER TABLE xscj ADD COLUMN kcmc C(14) 重命名字段 ALTER TABLE xscj RENAME COLUMN kcmc TO kc 删除字段 ALTER TABLE xscj DROP COLUMN kc 作业: 二、第二次课 2.3 表记录的处理 1( 记录的输入 (1) 立即输入方式: 设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单 击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo” 或“gen”, 在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口 ,此时 字段中的“memo” 或“gen”变成“Memo” 或“Gen”。 (2) 追加方式: 若设计好表的结构后并没有及时输入数据,则可以用追加方式: 从文件菜单中(或从命令窗口中输入:USE 表文件名) 打开所需表文件 ? 从显示菜单中选择浏览 ? 再从显示菜单中选择追加方式 ? 在浏览窗口中输入所需记录。 (3) 使用INSERT-SQL命令 该命令的一般格式为: INSERT INTO 表名[(字段名1[,字段名2 „])] VALUES (表达式1[,表达式2 „]) 例:INSERT INTO xscj(xh,xm,cj) VALUES ("81991001", "张良", 85.5) 2. 记录的浏览 (1) 通过浏览窗口 (2) 通过BROWSE 命令 BROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。 (3) VFP命令中的常用子句 1) 范围子句 子句格式 功能 表示对表文件的全部记录进行操作 ALL 表示对从当前记录开始的共n个记录进行操作, n为正整数 NEXT n - 22 - 指明操作对象是表文件的第n号记录 RECORD n 对从当前记录起到文件结尾的全部记录进行操作 REST 2)FOR子句 用于指明进行操作的条件。 格式: FOR 条件 指明只对指定范围中那些符合给定条件的进行当前操作。 例如: list NEXT 6 FOR cj < 85 3)FIELDS 子句 用于指明当前的操作涉及到表文件的哪些字段。 格式:BROWSE [ FIELDS 字段名1,字段名2……] 例如:BROWSE FIELDS xh,xm,cj 3. 记录的定位 (1) 系统对记录的三个控制标志 记录开始标志:位于第一个记录之前。其值用函数BOF()进行测试。 记录指针标志:指向当前记录。其值用函数RECNO()进行测试。 记录结束标志:位于最后一个记录之后。其值用函数EOF()进行测试。 记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表 中记录总数+1。 刚打开表时记录指针的情况 表中记录情况 BOF()的值 RECNO()的值 EOF()的值 无记录 .T. 1 .T. 有记录 .F. 1 .F. (2)记录的定位方式 绝对定位:是指把指针移到指定的位置。 相对定位:是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。 条件定位:是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。 , 通过菜单进行定位 记录号 ——实现绝对定位 从表菜单中选择转到记录 定位„ ——实现条件定位 通过命令进行定位 记录的定位 命令格式 功能 备注 绝对定位 将记录指针定位到表文件之首 或 GOTO TOP GO TOP - 23 - 将记录指针定位到表文件之尾 或GOTO BOTTOM GO BOTTOM 将记录指针定位到指定的n号记录 GO n .n为正值则向下移动 将记录指针从当前记录向上或向下移相对定位 .n为负值则向上移动 SKIP n 动n个 无n向下移动 1个 LOCATE FOR 条按顺序搜索表, 直到找到满足指定 条条件定位 默认范围是所有记录 件 [ 范围 ] 件的第一个记录 4. 记录的修改和删除 一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其 记录进行编辑、修改和删除。 (1) 菜单方式 修改记录: 从表菜单中选择替换字段„ ? 在替换字段对话框中选择待替换的字段并构造出替换表达式 及 替换条件 ? 替换。 删除记录: 从表菜单中选择删除记录 ? 在删除对话框中选择删除范围和删除条件 ? 单击删除 按钮 ? 从表菜单中选择彻底删除 ? 在消息框中单击是。 删除记录包括两步: 标记要删除的记录 和 彻底删除带删除标记的记录 恢复带删除标记的记录:从表菜单中选择恢复记录 ? 在恢复记录对话框中选择作用范围和条件 ? 单击 恢复记录按钮。 (2) SQL命令方式 (表事先可以不打开,适用于编程工作方式) 修改记录: 用UPDATE-SQL 命令。 命令格式:UPDATE 表名 SET 字段1 = 表达式1 [,字段2 = 表达式2 „]; WHERE 条件表达式 例:UPDATE xscj SET cj = cj*1.05 WHERE cj>80 删除记录: 用DELETE-SQL 命令。 命令格式:DELETE FROM 表名 [WHERE 条件表达式] 例:DELETE FROM xscj WHERE cj<60 5. 筛选记录和字段 (1)用菜单方式 从表菜单中选择属性 ? 在工作区属性对话框中单击数据过滤器框后的按钮 ? 在表达式生成器 对话框中构造所需的条件表达式并确定 ? 单击字段筛选„按钮 ?在字段筛选器中选择所需字段 并确定 ? 单击选项按钮:字段筛选指定的字段 ? 确定。 (2)用命令方式 命令格式: SET FILTER TO 条件表达式 例: SET FILTER TO xb ='男' 注意:SQL命令对记录的访问不受此筛选命令的限制。 2.4 表的使用 - 24 - 1( 工作区 工作区: 指用来标识一张打开的表的区域。一个工作区在某一时刻只能打开一张表,但可以同时在多 个工作区打开多张表,一张可以在多个工作区中多次被打开。每个工作区都有一个编号。 表的别名:在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为 别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a 、_b…。 自定义别名的格式: USE 表名 ALIAS 别名 当前工作区:正在使用的工作区。可以通过“数据工作期窗口”或用 SELECT命令把任何一个工作区 设置为当前工作区。 SELECT 命令格式: SELECT 工作区号|别名 要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作 区。 命令格式: IN 工作区号|别名 ALIAS([工作区号])函数:测试指定工作区中的表的别名,无参数时指当前工作区表的别名。 SELECT([别名])函数: 测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。 2( 表的打开和关闭 打开表的途径 关闭表的途径 文件菜单中的打开 工具栏上的打开 数据工作期窗口中关闭 USE 数据工作期窗口中打开 USE 表名 USE IN 别名|工作区号 CLOSE ALL USE 表名 IN 工作区号 USE 表名 AGAIN CLOSE DATABASE CLOSE TABLE USE 表名 ALIAS 别名 退出VFP系统,关闭所有的表 3( 表的独占与共享使用 独占使用: 一张表只能被一个用户打开。VFP6.0在默认状态以独占方式打开。 共享使用: 一张表可以被多个用户同时打开。 系统的默认打开方式可以通过工具菜单中的选项„来设置,或 用命令: SET EXCLUSIVE OFF && 默认打开方式为共享 SET EXCLUSIVE ON && 默认打开方式为独占 或强行打开: USE cj SHARED && 以共享方式打开cj表 USE cj EXCLUSIVE && 以独占方式打开cj表 4( 利用缓冲访问表中的数据 数据缓冲: 先将对表记录的修改存放在缓冲区中,用户决定是否用缓冲区中的数据更新表文件。它是VFP6.0 在多用户环境下用来保护对表记录所做的数据更新和数据维护操作的一种技术。 数据缓冲的类型:记录缓冲:当记录指针移动或关闭表时,缓冲区自动更新表中的相应记录。 表缓冲:当发出更新表的命令或关闭表时更新表。 缓冲的锁定方式: 保守式:在多用户环境中防止一个用户访问另一个用户正在修改的记录或表。 开放式:记录只在被写入时加锁,减少单个用户占用系统的时间。对远程表VFP强制 实行开放式缓冲。 作业: - 25 - 三、第三次课 实验四:表的创建和记录的处理 实验内容: 1、《实验指导》P18,21 表的建立 2、《实验指导》P22,25 表记录数据的输入、追加和替换 3、《实验指导》P26,29 表的基本操作 作业:完成实验报告。 - 26 - 四、第四次课 2.5 表的索引 1( 基本概念 记录的顺序 物理顺序:即表中记录的存储顺序。用记录号表示。 逻辑顺序:表打开后被使用时记录的处理顺序。 索 引: 指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一 个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修 改或删除时,索引文件可自动更新。 索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。 注意:1) 用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果; 2) 不同类型字段构成一个表达式时,必须转换数据类型。 索引标识(索引名):即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字节。 索引类型:主索引、候选索引、普通索引、唯一索引。 主索引: 组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于 数据库表的结构复合索引中。自由表中不可以建立主索引。数据库中的每个表可以且只能 建立一个主索引。 候选索引: 在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每 个表建立多个候选索引。 普通索引: 也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通 索引。 唯一索引: 参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存 储其中的第一个。 2( 索引的作用 用途 采用的索引类型 排序记录,以便显示、查询或打印 使用普通索引、候选索引或主索引 对数据库表使用主索引或候选索引,对自由在字段中控制重复值的输入并对记录排序 表使用候选索引 依据表在关系中所起的作用,使用普通索引、准备设置表关系 主索引或候选索引 3( 索引文件的种类 索引文件种类 特征 关键字数目 限制 使用和表文件名相同的基本名,结构复合索引文件 多关键字表达有效表达式限制在 随表的打开自动打开。可以看成.CDX 式,称为标识。 240 个字符之内。 表结构的一部分。 - 27 - 必须明确地打开,使用和表名不非结构复合索引文件 多关键字表达有效表达式限制在 同的基本名。其中不能创建主索.CDX 式,称为标识。 240 个字符之内。 引 必须明确地打开,文件的基本名独立索引文件 单关键字表达有效表达式限制在 由用户定义。一般作为临时索引.IDX 式。 100 个字符之内。 文件。 结构复合索引文件(扩展名为.CDX)的特点: , 在创建索引标识时自动创建。 , 在打开表时自动打开。 , 在同一索引文件中能包含多个排序方案,或索引关键字。 在添加、更改或删除记录时自动维护。 4. 创建结构复合索引 VFP中创建索引文件有两种方式:表设计器方式和命令方式。 (1)表设计器方式 打开表文件 ? 从显示菜单中选择浏览 ? 再从显示菜单中选择表设计器? 在表设计器中单击 索引 ? 输入索引名并选择索引类型 ?选择索引的方向(按升序或降序排列记录) ?在表达式 框中输入作为排序依据的索引关键字 ? 在筛选框中输入筛选表达式 ? 单击确定,完毕。 (2) 命令方式 命令 功能 INDEX ON 索引关键字段 TAG 索引标识 [FOR 条件 ] 用INDEX ON 命令建立一 个索引文件 [ASCENDING | DESCENDING] [CANDIDATE | UNIQUE] ALTER TABLE 表名 ADD PRIMARY KEY 关键字段名 用SQL命令创建主索引 TAG 索引标识名 ALTER TABLE 表名 ADD UNIQUE 关键字段名 TAG 用SQL命令创建候选索引 索引标识名 注意: 1)备注型字段和通用型字段不能作为索引关键字段; 2)不要建立无用的索引,以免降低系统性能; 3)及时清理已无用索引标识,通过系统效率。 在复合索引的多个索引中,某一时刻只有一个索引对表起作用。 5. 索引的修改和删除 修改: 打开表设计器,在索引对话框中进行所需修改; 或 用命令重新建立一个相同标识名而索引表达式不同的索引。 删除: 打开表设计器,在索引对话框中删除不需要的索引标识即可; 或 用命令: DELETE TAG ALL | 索引标识1 [, 索引标识2 ] „ 删除不需要的索引标识,ALL表示全部标识 6. 索引的使用 - 28 - 功能 命令格式 打开表的同时指定主控索引 USE 表名 ORDER 标识名 SET ORDER TO 标识名 为已打开的表确定主控索引 [ASCENDING | DESCENDING] ] 搜索某张已建立索引的表 FIND 表达式 SEEK 表达式 [ 索引标识名 ] 搜索表中首次出现的记录 SEEK(表达式) 作业: - 29 - 一、第一次课 2.6.1 VFP数据库 1. 数据库的基本组成 数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的 连接和存储过程。 视图(view):一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟 表,可以是本地的、远程的或带参数的。 存储过程(stored procedure):是保存在数据库中的一个过程。该过程能包含一个用户自定义函 数中的任何命令和函数。 创建数据库时系统自动生成3个文件: 数据库文件(扩展名为 .dbc)、数据库备注文件(扩展 名 为 .DCT)、数据库索引文件( 扩展名为 .DCX) 2. 数据库的设计过程 1) 明确建立数据库的目的和使用方式 2) 设计所需的数据表(包括表结构和表记录) 3) 建立表之间的关系 4) 改进设计 2.6 .2 数据库的创建 1 、数据库的创建过程 2( 数据库的新建、打开、关闭 (1) 新建数据库: 从文件菜单中单击新建 ? 在新建对话框中选择数据库并单击新文件 ? 在创建对话 框中给出库文件名和保存位置 ? 在数据库设计器中建立所需的数据库。 或 从命令窗口中输入命令: create database 数据库名 (2) 打开数据库: 从文件菜单中单击打开 ? 在打开对话框中给出库文件名和保存位置并确定之。 或 从命令窗口中输入命令: open database 数据库名 (3) 关闭数据库: 从命令窗口中输入命令: close database && 关闭当前数据库 或 close all && 关闭所有被打开的数据库 注意: 1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭; 2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。 作业: 二、第二次课 实验五:数据库与数据库表的操作(上) 实验内容: - 30 - 《实验指导》P30,31 数据库和数据库表的操作 实验4,1,4,4 作业:完成实验报告。 三、第三次课 3. 用数据库设计器设计数据库 (1) 调出表设计器,建立一个新数据表 方法1:从数据库菜单中选择新表。 方法2:右击数据库设计器窗口,从快捷菜单中选择新表。 方法3:单击数据库设计器工具栏的新表按钮。 方法4:从文件菜单中单击新建,在对话框中选择表。 注意:数据库表的表设计器中内容比自由表的多,增加了字段属性和表属性的设置。 设置验证规则目的是为了使输入的数据符合要求,在有矛盾时发出错误提示信息。 (2) 数据库表的高级属性 属性类别 属性名称 作用 格式 确定字段内容在被显示时的样式 指定字段中输入数据的格式(即所输入的任何内容均字段显示属性 输入掩码 显示成此符号) 字标题 在浏览表时用此名称代替意义不够直观的字段名 段 规则 使所输数据符合设定的条件 属 性 信息 当所输数据违反规则时,系统提示错在哪里 字段验证规则 默认值 减少输入重复性数据时的工作量 字段注释 使字段具有更好的可读性 与表文件名不同,设置了长表名可以一目了然 长表名 规则 使所输记录符合设定的条 记录验证规则 信息 当所输记录违反规则时,系统提示错在哪里 表 属插入触发器 当所插记录符合此规则时,才可以插入到表中 性 触发器 更新触发器 当修改后的记录符合此规则时,才可以进行修改 删除触发器 当待删记录符合此规则时,才可以被删除掉 表注释 使表具有更好的可读性 字段级规则: 一种与字段相关的有效性规则,在插入或修改字段值时被激活,多用于数据输入正确性的 - 31 - 检验。 为字段设置验证规则的方法: , 在表设计器中选定要建立规则的字段名。 , 在“规则”方框旁边选择“„”按钮。 , 在表达式生成器中设置有效性表达式,并选择“确定”。 , 在“信息”框中,键入用引号括起的错误信息。 , 在“默认值”框中,键入合理的初值。注意不同类型数据的表示方法。 , 选择“确定” 记录级规则:一种与记录相关的有效性规则,当插入或修改记录时激活,常用来检验数据输入 和正确性。记录被删除时不使用有效性规则。记录级规则在字段级规则之后和触发器之前 激活,在缓冲更新时工作。 触发器:在一个插入、更新或删除操作之后运行的记录级事件代码。不同的事件可以对应不同 的动作。它们常用于交叉表的完整性。 (3) 在数据库中添加表 方法1:从数据库菜单中选择添加表,从打开对话框中选择所需的表并确定之。 方法2:右击数据库设计器窗口,从快捷菜单中选择添加表。 方法3:单击数据库设计器工具栏的添加按钮。 注意:一个数据表在同一时间内只能属于一个数据库,已隶属于其它数据库的表不能直接被添加 进来,需先将其移出数据库还原成自由表。 (4) 创建并添加视图 视图用于显示一个或多个表中的记录,并能够更新源表中的数据,视图只有在数据库中才能存 在。 方法1:从数据库菜单中选择新远程视图或新本地视图 方法2:右击数据库设计器窗口,从快捷菜单中选择新远程视图或新本地视图 方法3:单击数据库设计器工具栏的新远程视图或新本地视图按钮 (5) 在数据库中操作表和视图 可以利用数据库设计器工具栏很方便地进行下列操作: 浏览:在浏览窗口中显示表或视图的内容。 修改: 调出表设计器或视图设计器对表或视图进行修改。 移去:使表从数据库中还原成自由表。对视图移去相当于删除。 删除:从磁盘上彻底删除数据表和视图,并且无法回收。 (6) 在表之间建立永久性关系 永久关系: 是数据库表之间的一种关系,不仅运行时存在,而且一直保留。表之间的永久关系是 通过索引建立的。 一对多关系:表之间的一种关系,在这种关系中,主表中的每一个记录与相关表中的多个记录相 关联(每一个主关键字值在相关表中可出现多次)。 一对一关系:表之间的一种关系,在这种关系中,主表中的每一个记录只与相关表中的一个记录相 - 32 - 关联。 创建表间的永久关系: 在数据库设计器中,选择想要关联的索引名,然后把它拖到相关表的索引名上, 所拖动的父表索引必须是一个主索引或候选索引。建立好关系后,这种关系在数据库设 计器中会显示为一条连接两个表的直线。 注意:需先建立索引然后才能建立关系。 删除表间的永久关系: 在数据库设计器中,单击两表间的关系线。关系线变粗,表明已选择了该 关系,按下 delete 键。 编辑关系: 单击所需关系线,右击鼠标,从快捷菜单中选择编辑关系,在编辑关系对话框中改选其 它相关表索引名或修改参照完整性规则。 参照完整性(RI): 控制数据一致性,尤其是不同表的主关键字和外部关键字之间关系的规则。Visual FoxPro 使用用户自定义的字段级和记录级规则完成参照完成性规则。 (7) 在表之间建立临时关系 临时关系: 是在打开的数据表之间用 set relation命令建立的临时关系。建立了临时关系后,子表 的指针会随主表记录指针的移动。表被关闭后,关系自动解除。 临时关系与永久关系的联系与区别: 联系: (1)都必须明确建立关系的两张表之间确实在客观上存在着一种关系(一对多或一对一关系)。 (2)永久关系在许多场合可以作为默认的临时关系。 区别: (1)临时关系是用来在打开的两张表之间控制相关表之间记录的访问;而永久关系主要是用 来存储相关表之间的参照完整性,附带地可以作为默认的临时关系或查询中默认的联接 条件。 (2)临时关系在表打开之后使用set relation命令建立,随表的关闭而解除;永久关系永久地 保存在数据库中而不必在每次使用表时重新创建。 (3)临时关系可以在自由表之间、库表之间或自由表与库表之间建立,而永久关系只能在库 表之间建立。 (4)临时关系中一张表不能有两张主表(除非这两张主表是通过子表的同一个主控索引建立的 临时关系),永久关系则不然。 4. 用命令方式操作数据库 常用命令一览表 命令格式 功能 create database 库文件名 创建新的数据库文件 open database 库文件名 打开指定的库文件 关闭当前的数据库和数据表 close database 关闭所有的数据库和数据表,并把工作区1置为当前工close all 作区,同时还关闭一些窗口 - 33 - 修改当前库文件结构 modify database delete database 库文件名 删除指定的库文件 open database 库文件名 在数据库中添加表 add table 表名 open database 库文件名 将表从数据库中移去 remove table 表名 open database 库文件名 将表从数据库中移去并从盘上删除 remove table 表文件名 delete use 库文件名 ~表名 “~”表示引用一个不在当前数据库中的表 browse Set relation to 关系表达式 into 区号 | 别名 建立表之间的临时关系 删除表之间的临时关系 Set relation to alter table 子表名 add foreign key 索引关键字 tag ; 创建永久关系 索引标识 references 父表名 [tag 索引标识 ] alter table 子表名 drop foreign key tag 索引标识 删除永久关系 5( 用CREATE TABLE-SQL 命令创建数据库表 命令一般格式: Create table 表名1 [free] ( 字段名1 字段类型代号 [ (字段宽度[,小数位数 ] ) ] ; [null | not null] [check 字段规则1 [error “信息1” ] ] [default 默认值]; [primary key | unique] [references 表名2 [tag 索引标识1 ] ]; [ , 字段名2 字段类型代号 [ (字段宽度 [, 小数位数]) ] [null | not null] ] ; [check 字段规则2 [error “信息2” ] ] [default 默认值 ] ) | from array 数组名 使用示例: creat data xscjgl && 创建学生成绩管理数据库 create table xs (; && 创建学生表 xh c(4) default "1201" primary key,; xm c(6), ; xb c(2) check xb="男" or xb="女" error"性别只能是男或女" default "女",; nl n(2) null; ) create table kc (; && 创建课程表 kch c(3) unique, ; kcm c(10),; xf n(3,1),; bxk l ) - 34 - create table cj (; && 创建成绩表 xh c(4) default "1201" reference xs tag xh, ; kch c(8),; ksrq d,; cj n(5,1)) modi data alter table cj add primary key xh+kch+str(cj,4,1) tag dh && 为成绩表添加一个主索引 6. 查看和设置数据库的属性 (1) 用dbgetprop()函数查看数据库属性: 命令格式: dbgetprop(cName,cType,cProperty) (2) 用 dbsetprop()函数设置数据库属性: 命令格式: dbsetprop(cName,cType,cProperty,ePropertyValue) (3) 用dbsetprop() 函数给表中字段添加标题和说明 一般格式: dbsetprop(’表名.字段名’,’field’,’caption|comment’,’标题|说明’) 例: dbsetprop(’xs.xh’,’field’,’caption’,’学号’) dbsetprop(’cj.xh’,’field’,’comment’,’本表学号应与学生表中的学号对应起来’) 作业: 四、第四次课 实验六:数据库与数据库表的操作(下) 实验内容: 《实验指导》P32,33 数据库和数据库表的操作 实验4,5,4,7 作业:完成实验报告。 - 35 - 教学内容 第5章 面向对象的程序设计 教学大纲 ?有教学大纲 无教学大纲 计划学时 4 本章是VFP可视化编程的重点之一。要求掌握有关面向对象程序设教学目的 计的基本概念和编程思想,并重点掌握有关类、对象、属性、事件和方 法的基本概念。 教学重点、难点及教学方法 重难点标重难点内容 教学方法 识 面向对象程?重点 难用面向过程程序设计来引入面向对象程序设计的概念,序设计的概点 了解面向对象程序设计的过程。 念 ?重点?难通过PPT讲解类的概念,重点掌握类的四个特征,尤其类 点 是类的继承性和封装性的含义。 ?重点?难从系统自定义类(基类)的概念引入用户自定义类(子子类 点 类)的概念,进一步说明类具有继承性的好处。 ?重点?难通过PPT和实例讲解对象的概念,重点掌握对象的属性对象 点 及与对象相关的事件和方法。 课前做好一个具有代表性的表单,通过表单中的控件对?重点?难引用对象 象的包含关系讲解对象的引用方法,重点掌握绝对引用点 和相对引用的方法。 举例说明事件的含义,重点理解和掌握什么是核心事?重点?难事件 件、什么是事件的激发顺序,对一些常用事件进行归纳点 总结。 ?重点?难举例说明方法的含义和作用,重点掌握一些常用方法的方法 点 调用方式及其参数的含义。 整合教学内容,强化基础训练;努力营造生动活泼的课堂气氛,搭建教改方案及 师生间良好的沟通渠道;采用多媒体教学与传统的板书设计相结合的实施要点 方式,教学手段灵活多变。 创新能力培让学生明确创新思维是发现问题、积极探索的心理取向,教育学生能养方法及要在课堂上富于想象、敢于提出问题;以本校的教务管理系统为例,引 点 导学生理论联系实际,用面向对象编程技术开发小型管理系统。 授课具体内容及实施过程 一、回顾上章主要内容 1、查询的概念及实质。 - 36 - 2、建立查询的方法。 3、建立视图的方法。 4、SELECT-SQL命令的格式及其含义。 二、本章学习要求 1、理解面向对象编程的概念。 2、掌握类、对象、属性、事件和方法的概念。 3、掌握对象的引用技术,对象属性的赋值方法。 4、掌握常见事件的激发机制,常用事件代码的写法以及方法的调用等。 三、具体内容 一、第一次课 5(1面向对象程序设计概述 传统的结构化程序设计的开发过程:做什么 ? 如何做 (用原材料做成产品) 面向对象的程序设计的开发过程:用什么做 ? 要做什么(用半成品做成产品) 面向对象的程序设计是通过对类、子类和对象等的设计来体现的,类是面向对象程序设计技术的核 心。 类: 定义了对象特征以及对象外观和行为的模板。 类的特征 封装性 隐藏了类中对象的内部数据或操作细节,只看到外表信息。 任何类都可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功继承性 能。体现了面向对象设计方法的共享机制。 多态性 相同的操作可作用于多种类型的对象上,并获得不同的结果。 抽象性 提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理。 基 类:系统本身提供的类称为基类。基类包括容器类和控件类。容器类是其他对象的集合,如 表 格、选项按钮组;控件类是单一的对象,不包含其他对象,如命令按钮、文本框。 子 类:以其他类定义为起点,对某一对象所建立的新类。新类将继承任何对父类所做的修改。 类 库:存储类的文件,每一个以可视方式设计的类都存储在一个类库中。类库具有 .VCX 文件扩展 名. 对 象:是类的一个实例,包括了数据和过程。具有所在类所定义的全部属性和方法。 VFP有两种对象:容器对象和控件对象。 属 性:控件、字段或数据库对象的特性。 事 件:由对象识别的一个动作。 方 法:与对象相联系的由程序执行的一个处理过程,即处理事件的一组代码。 用户不可以为对象创建新的事件,但可以创建新的方法程序。 5.2 Visual FoxPro 基类 从下述 Visual FoxPro 基类中,可以派生子类或创建对象。 - 37 - 容器 命令组 控件 微调 标签 表单 命令按钮 复选框 OLE 容器控制 线条 表单集 选项组 列表框 OLE 绑定型控制 分隔符 # 表格 选项按钮 # 文本框 自定义 形状 标头 # 页框 组合框 工具栏 图象 列 # 页面 # 编辑框 计时器 #这些类是父容器的集成部分,在类设计器中不能子类化。 容器类 容器类可以包含其他对象,并且允许访问这些对象。每种容器类所能包含的对象如下 容器 能包含的对象 命令按钮组 命令按钮 容器 任意控件 控件 任意控件 表单集 表单、工具栏 表单 页框、任意控件、容器或自定义对象 表格列 标头对象以及除表单、表单集、工具栏、计时器和其他列对象以外的任 意对象 表格 表格列 选项按钮组 选项按钮 页框 页面 页面 任意控件、容器和自定义对象 工具栏 任意控件、页框和容器 基类属性的最小集合 属性 说明 Class 该类属于何种类型。 BaseClass 该类由何种基类派生而来,例如 Form、Commandbutton 或 Custom 等 ClassLibrary 该类从属于哪种类库。 ParentClass 对象所基于的类。若该类直接由 Visual FoxPro 基类派生而来,则 ParentClass 属性值与 BaseClass 属性值相同。 5.3 创建并处理对象 1( 创建对象 (1) 编程方式 先创建一个类,再用CREATEOBJECT()函数来创建。 - 38 - (2) 可视化方式 用表单设计器创建。 2( 引用对象 引用对象时,对象与对象之间、对象与属性之间需用分隔符 . 进行分隔。 (1) 绝对引用 从容器的最高层引用对象,给出对象的绝对地址。如:form1.text1.value (2) 相对引用 在容器层次中相对于某个容器层次的引用。如:thisform .text1.value 属性或关键字 引用 ActiveControl 当前活动表单中具有焦点的控件 ActiveForm 当前活动表单 ActivePage 当前活动表单中的活动页 Parent 该对象的直接容器 THIS 该对象 THISFORM 包含该对象的表单 THISFORMSET 包含该对象的表单集 系统变量 _SCREEN 表示屏幕对象,与ActiveForm等组合可以在不知道表单名的情况下处理活动表单。 作业: 二、第二次课 6.4事件与方法 1( 一些核心事件及其激发时间 事件 触发时间 Load 当表单或表单集被加载时产生 Unload 当表单或表单集从内存中释放时产生 Init 创建对象时产生 Destroy 从内存中释放对象时产生 Click 用户在对象上单击鼠标时产生 DblClick 用户在对象上双击鼠标时产生 RightClick 用户在对象上单击鼠标右键时产生 GetFocus 对象得到焦点时产生 LostFocus 对象失去焦点时产生 KeyPress 用户按键时产生 MouseDown 在对象上按下鼠标 - 39 - MouseUp 在对象上松开鼠标 MouseMove 在对象上移动鼠标 InteractiveChange.. 交互式改变对象值 ProgrammaticChange 可编程地改变对象值 2. 事件循环 VFP6.0中用READ EVENTS 命令建立循环,用CLEAR EVENTS 命令终止循环。 利用VFP6.0设计应用程序时,必须创建事件循环,否则不能正常运行。READ EVENTS 命令通常出现在应用程序的主程序中, 同时必须保证主程序调出的界面中有发出CLEAR EVENTS命令的机制,否则程序进入死循环。 3. 方法 VFP6.0中的常用方法 名称 调用语法 功能 Object. AddObjectAddObject 在运行时向容器对象中添加对象 (cName,cClass[,„]) Clear Object.Clear 清除组合框或列表框控件中的内容 Hide Object.Hide 通过把Visible属性设置为 .F.,来隐藏表单、表单集 或工具栏 Show Object.Show 把Visible属性设置为 .T.,显示并激活一个表单或表 单集,并确定表单的显示模式 Refresh Object.Refresh 重画表单或控件,并刷新所有值 Release Object.Release 从内存中释放表单或表单集 Quit Object.Quit 结束一个VFP6.0实例,返回到创建它的应用程序。 作业: - 40 - 教学内容 第6章 表单设计 教学大纲 ?有教学大纲 无教学大纲 计划学时 20 本章是VFP可视化编程的重点之一,要求掌握掌握表单、命令钮、标签框、文本框、教学目的 列表框与组合框、数据网格和屏幕对象的功能和用法,达到能熟练利用它们构建用户图 形界面,并能利用这些控件,实现对数据表内容的显示、输入和编辑修改。 教学重点、难点及教学方法 重难点内容 重难点标识 教学方法 表单的概念 ?重点 难点 做一个实例用以说明表单的概念,理解表单的作用。 在VFP环境中演示说明创建表单的一般步骤,熟悉利用表单向导表单的建立 ?重点 难点 设计表单的过程。 表单属性 ?重点 难点 熟悉表单的常用属性及其作用效果,掌握各种属性的设置方法。 通过实例讲解表单的类型,重点区分模式表单和非模式表单的异表单类型 ?重点?难点 同。 通过实例演示如何向表单的数据环境中添加表和视图,理解表单数据环境 ?重点 难点 数据环境的作用。 通过实例演示自定义表单的一般步骤,掌握向表单中添加控件的定制表单 ?重点?难点 方法,重点掌握如何给对象写事件代码,及这些代码的激活机制。 通过实例演示如何运行和调用表单,尤其注意表单文件名和表单使用表单 ?重点 难点 NAME属性的区别。 教改方案及 整合教学内容,强化基础训练;努力营造生动活泼的课堂气氛,搭建师生间良好的实施要点 沟通渠道;采用多媒体教学与传统的板书设计相结合的方式,教学手段灵活多变。 让学生明确创新思维是发现问题、积极探索的心理取向,教育学生能在课堂上富于创新能力培养方想象、敢于提出问题;以本校的教务管理系统为例,引导学生理论联系实际,用面法及要点 向对象编程技术开发小型管理系统。 授课具体内容及实施过程 一、回顾上章主要内容 1、面向对象编程的概念。 2、类、对象、属性、事件和方法的概念。 3、对象的引用方法,对象属性的赋值方法。 4、常见事件的激发机制。 二、本章学习要求 1、理解表单的概念和作用。 2、掌握新建表单的方法。 - 41 - 3、理解表单的数据环境及其使用方法。 4、掌握常见控件的使用方法。 5、掌握定制表单的一些方法技巧。 三、具体内容 一、第一次课 6.1 基本概念 1(名词解释 表 单:即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改。该界面可以自行设 计和定义,是一种容器类,可包括多个控件(或称对象)。 表单集:可包含一张或多张表单的容器。 数据环境: 在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数 据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用数据环境设计器来创 建和修改表单的数据环境。 2(表单设计界面: 表单向导、表单设计器、表单设计器工具栏、表单控制工具栏、属性窗口 3. 表单设计中常用的属性、事件与方法介绍(见下页) 属性、事件、方法 说明 默认值 AlwaysOnTop属性 控制表单是否总是处在其他打开窗口之上 假(.F.) AutoCenter属性 控制表单初始化时是否让表单自动地在Visual FoxPro假(.F.) 主窗口中居中 BackColor属性 决定表单窗口的颜色 255,255,255 决定表单是否有边框,若有边框,是单线边框、双线边 BorderStyle属性 框,还是系统边框。如果BorderStyle为3(系统),用3 户可重新改变表单大小 Caption属性 决定表单标题栏显示的文本 Forml Closable属性 控制用户是否能通过双击“关闭”框来关闭表单 真(.T.) MaxButton属性 控制表单是否具有最大化按钮 真(.T.) MinButton属性 控制表单是否具有最小化按钮 真(.T.) Movable属性 控制表单是否能移动到屏幕的新位置 真(.T.) WindowState属性 控制表单是最小化、最大化还是正常状态 0正常 控制表单是非模式表单(默认)还是模式表单。如果表 WindowType属性 单是模式表单,用户在访问应用程序用户界面中任何其0非模式 他单元前必须关闭该表单 Activate事件 当激活表单时发生 Click事件 在控制上单击鼠标左键时发生 DblClick事件 在控制上双击鼠标左键时发生 Destroy事件 当释放一个对象的实例时发生 - 42 - Init事件 在创建表单对象时发生 Error事件 当某方法(过程)在运行出错时发生 KeyPress事件 当按下并释放某个键时发生 Load事件 在创建表单对象前发生 Unload事件 当对象释放时发生 RightClick事件 在单击鼠标右键时发生 AddObject方法 运行时,在容器对象中添加对象 Move方法 移动一个对象 Refresh方法 重画表单或控制,并刷新所有值 Release方法 从内存中释放表单 Show方法 显示一张表单 6.2 创建表单 可以用表单向导、表单设计器、表单生成器、编程四种方法创建表单。 1( 利用向导创建表单 (1) 创建单张表的表单: 文件菜单 ? 新建 ? 表单 ? 向导 [或从常用工具栏上选择表单(F)] ? 选择表单向导 ? 选取字段 ? 选择样式 ?选择排序记录 ? 选择保存方式 ? 给出合适的文件名和保存位置。 (2) 创建多个相关表的表单: 文件菜单 ? 新建 ? 表单 ? 向导 [或从常用工具栏上选择表单(F)]? 选择一对多表单向导 ? 选取父表字段 ? 选取子表字段 ? 选定关系 ? 选择样式 ?选择排序记录 ? 选择保存方式 ? 给出合适的文件名和保存位置。 注意:用向导创建的表单含有一组标准的命令按钮。 表单保存后系统会产生两个文件: 表单文件: 扩展名为 .SCX 表单备注文件:扩展名为 .SCT 2( 利用表单生成器创建表单 文件菜单 ? 新建 ? 表单 ? 新文件 ? 表单菜单 ? 快速表单命令 ? 选择字段和样式并确定之。 注意:用生成器创建的表单不能直接产生一些命令按钮。 3( 利用设计器创建表单 文件菜单 ? 新建 ? 表单 ? 新文件 ? 在表单设计器中,用表单设计器和表单控件工具条上的按钮创 建所需的表单 ?保存表单 ? 给出文件名和保存位置。 注意:用设计器创建的表单,用户必须为控件设置有关的属性及事件处理代码。 4( 利用编程的方法创建表单 按照面向对象设计的方式,先可视化地利用类来创建表单,再将类代码复制到程序窗口,适当添加部分 设置系统环境的代码,以程序文件的形式保存。举例。 5( 运行表单 从常用工具栏上单击运行按钮(~)或从表单菜单中选择运行表单命令或从命令窗口中输入: DO - 43 - FORM 表单文件名。 6.3 向表单中添加控件 1( 常用控件的作用 标 签 用于保存不希望用户改动的文本,常用来为添加的控件写标题 。 文本框 用于输入或编辑表中的非备注型字段,框中一般是单行的文本。 编辑框 用于输入或编辑长字段或备注字段,框中可以有多行并有垂直滚动条。 用于显示一组预定的、供用户选择的值,可以是一列或多列,可通过滚动条浏览列列表框 表信息. 一种下拉式的列表框,可以从中选择一项或人工输入一个值,兼有列表框和文本框组合框 的功能 复选框 用来显示多个选项,可以选择其中的一项或多项。 表 格 一个按浏览窗口样式显示数据的容器,常用来显示一多关系中的子表。 一种用于创建选项卡式对话框的容器类,一个页框可以包含多个页面,但每次只能页 框 有一个活动页面。 微调控制 用于接受给定范围内的数据输入。 命令按钮 常用来启动一个事件。 命令按钮组 用来把相关的命令按钮编成组。 选项按钮组 用于显示多个选项,只允许从中选择一项。 计时器 可以在指定时间或按照设定的间隔运行进程,此控件在运行时不可见。 2( 用生成器向表单中添加控件: 打开所需表单,进入表单设计器 ? 从表单控件工具栏上选择生成器锁定按钮 ? 从该工具栏上选择所需控件并 放在表单上 ? 在生成器的选项卡中填上有关信息。 3( 利用数据环境在表单中创建控件: 从数据环境中直接将所需字段或表拖到正在设计的表单中,VFP会自动生成符合要求的控件。 若要创建一个 将下面的项拖动到表单 表格 表 复选框 逻辑型字段 编辑框 备注型字段 OLE 绑定型控制 通用型字段 文本框 其他类型的字段 ,(自定义方式创建控件 打开表单设计器 ?根据需要从工具栏上单击某个控件 ? 用鼠标直接在表单上画出控件外形 ? 在 属性窗口设置该控件的各项属性。 - 44 - 5(使用类浏览器向表单中添加控件 在表单设计器中打开表单 ? 在类浏览器中打开类库文件,其中应包含有添加到表单中的对象的类 ? 从类列表中,选择类名,然后把类图标拖放到表单上。类图标位于类列表的上方。 附注:如果要把类添加到表单的容器对象上,则需把类图标拖放到表单中一个区域,然后把对象剪切并粘贴到所要的容器上。 作业: 二、第二次课 实验八:各种控件的使用 实验内容:表单控件的使用 三、第三次课 6.4 修改表单布局 打开表单,进入表单设计器,用表单设计器工具栏或显示菜单中的各命令修改表单。 1( 选择、移动和缩放控件 选择: 用鼠标单击所需控件 移动: 选定控件,用鼠标拖动到新位置或从编辑菜单中选择剪切再在新位置粘贴 缩放: 选定控件,用鼠标拖动尺寸柄直至所需大小松开 2( 复制和删除表单控件 复制: 选定表单上现有的控件 ?从编辑菜单中选择复制?从编辑菜单中选择粘贴。 删除: 选定表单上现有的控件 ? 按Delete键。 3( 控件的布局 可利用布局工具栏使表单上的所有控件排列整齐、大小合理、对称美观。 6.5 定制表单 1. 改变文本的字体和大小 打开表单,进入表单设计器 ? 选择要修改的控件 ? 打开属性窗口 ? 设置字体大小和字形,如 FontName 、FontSize、FontBold。 2(向表单中添加线条和形状 选择工具栏上的线条或形状按钮,在表单中所需位置拖动鼠标,画出线条或图形,图形界于正方形和 圆形、长方形和椭圆形之间(属性窗口中的Curvature 值从0~99)。线条和形状的颜色可以在属性窗 口中设定。 3(向表单中添加图形 从表单控件工具栏中选择图象 ? 在属性窗口中选择Picture属性 ? 单击该栏的„按钮 ?在打开 对话框中找到所需的图象文件 ? 确定之。 4( 设置一个表单的前景和背景颜色 用调色板工具栏或通过属性窗口中的ColorSource属性来设置。 5. 创建表单集 - 45 - 启动表单设计器 ? 从表单菜单中选择创建表单集 ? 设计第一张表单 ?从表单菜单中选择添加新 表单 ?设计另一张表单 ? 添加新表单 ? 设计另一张表单 „„ 四、第四次课 6.6 设计自定义表单的一般方法 1( 与数据表绑定型表单 (1) 生成基本表单: 新建 ? 表单 ? 新文件 ? 进入表单设计器 ? 表单菜单 ?快速表单 ? 选定数据 库(表)? 选定输出字段 ? 选定样式 ? 确定。 (2) 修改基本表单: 1) 用鼠标拖动来调整各字段的布局(排列位置、大小、对齐等); 2) 在属性窗口中设置表单中各对象的属性: 表单(form1): caption: 输入表单的中文标题 backcolor: 设置表单背景颜色 autocenter: 使表单运行时自动处于屏幕中央 visible: 设置表单在运行时是否可见,一般采用 .T. 各字段控件: autosize: 根据所容纳的内容自动调整大小, 常采用 .T. backstyle: 字段标题一般可设为透明,其它可设为不透明 caption: 输入中文的字段标题 fontname: 设置控件字体 fontsize: 设置字体大小 forecolor: 设置字体颜色 (3) 根据需要添加控件: 1) 利用数据环境: 打开基本表单 ?单击鼠标右键 ? 从快捷菜单中选择数据环境 ? 将所需字段拖到表单中 ? 用标 签控件为字段添加标题(先画出标签控件再更改标签的caption属性)。 2) 利用表单控制工具栏: 打开基本表单 ? 单击工具栏中所需控件 ? 在表单中画出控件 ? 选定控件? 单击鼠标右键 ? 从快捷菜单中选择生成器„ ? 在对话框中选好所需各项? 确定。 (4) 添加命令按钮 根据需要添加适当数量的命令按钮(用单个命令按钮或用命令组均可),设置命令组时要利用命令组生 成器(单击右键,从中选择生成器)。更改命令按钮的标题,需用热键时在标题后加上 (\ | ?] 功 能: 打开菜单设计器进行菜单设计 4( 运行菜单程序 设计好菜单并生成菜单程序文件后, 即可从程序菜单中选执行…来执行此程序。 或 从命令窗口中输入: DO 菜单文件名 .MPR 运行菜单程序文件后, 系统又产生一个同名的编译后的程序文件, 扩展名为 .MPX 7.3 创建快捷菜单 单击文件菜单新建 ? 选择菜单、新文件 ? 快捷菜单? 进入快捷菜单设计器?按设计一般菜单相同 的方式设计快捷菜单?生成并保存? 在表单设计器中给调用此快捷菜单的控件编写代码:DO 快捷菜 .MPR ? 运行。 单名 - 49 -
本文档为【数据库应用基础---电子教案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_842972
暂无简介~
格式:doc
大小:172KB
软件:Word
页数:73
分类:互联网
上传时间:2017-10-06
浏览量:229