




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教案
授课时间2月24日至3月2日课时数2+2
理论课口讨论课口习题课口实验课口上机课T技能课口其他口
授课方式
授课单元第1章VisualFoxPro数据库基础知识
1.了解数据库的基本概念、数据管理技术。
目的
2.理解数据模型、关系数据库的概念。
与
3.熟悉VisualFoxPro操作界面,VisualFoxPro工作方式。
要求
4.掌握项目管理器的操作与使用。
重点1)数据模型、项目管理器。
与
2)数据管理技术和VisualFoxPro操作界面。
难点
1.1了解数据库管理技术的发展
主1.2了解数据库系统的基本知识
要1.3了解数据模型的基本概念
1.4掌握关系数据库基本知识
内
1.5熟悉VisualFoxPro6.0集成环境
容
1.6认识项目文件和项目管理器
教学方法
采用多媒体投影授课,课中请部分学生到黑板上练习,加强与学生的互
手段(教动,增加课堂讨论环节,启发式教学,培养学生的实际操作能力。
具)
《VisualFoxPro程序设计基础》卢湘鸿等编清华大学出版社
参考资料《数据库系统概论》史嘉权等编清华大学出版社
实验L1
思考题、P27选择题1、2、3、4、5、7、15
作业填空题1、3、7、12
1
2
讲稿
第一章VisualFoxPro数据库基础知识
[旧课复习]:
复习内容:1.以互动方式了解学生上学期对计算机基础知识的掌握程度
2.复习数制转换
复习目的:大致了解学生对计算机基础知识掌握程度及层次情况
复习时长:大约5分钟
[新课导入]:
导入方式:解读为什么要学习VFP
随着计算机应用的普及和深入,人们对数据采集、存储、加工、处理、
管理的技术和方法的要求也越来越高。而数据库技术主要研究如何组织和存储数
据,如何高效地获取和处理数据。VFP6.0则是关系型数据库开发系统。
导入目的:让学生初识数据库及VFP
导入时长:大约5分钟
[新课讲授]:
重点:数据模型、项目管理器。
难点:数据管理技术和VisualFoxPro操作界面。
方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
第1章VisualFoxPro数据库基础知识
1.1数据库管理技术的发展
一、数据、信息和数据处理
数据:指存储在某一种媒体上,能够识别的物理符号。
信息:一种被加工成特定形式的数据。
数据处理:指将数据转换成信息的过程。
例如,一个人的“参加工作的日期”是固定的,属于原始数据,基于它就可以生
3
成工龄数据,那么工龄就是得到的二次数据。
二、数据管理技术的发展
数据处理的中心问题是数据管理。
计算机数据的管理:对数据的组织、分类、编码、存储、检索和维护。
计算机在数据管理方面经历了由低级到高级的发展过程。计算机数据管理随着计
算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来经历了人工管
理、文件系统、数据库系统、分布式数据库系统和面向对象数据库系统等几个阶
段。
(1)人工管理
20世纪50年代中期以前。
数据管理任务:存储结构、存取方法、输入输出方式等完全由程序设计人员一人
负责。
特点:数据与程序不具有独立性,一组数据对应一组程序。数据不长期保存,程
序运行结束后就退出计算机系统,一个程序中的数据无法被其他程序利用,因此
程序与程序之间存在大量的重复数据,称为数据冗余。
(2)文件系统
20世纪50年代后期至60年代中后期。
计算机开始大量地用于管理中的数据处理工作。出现了高级语言和操作系统。操
作系统中的文件系统是专门管理外存储器的数据管理软件。
特点:程序与数据有了一定的独立性,程序和数据分开存储,有了程序文件和数
据文件的区别。数据文件可以长期保存在外存储器上被多次存取。数据冗余度大
这不仅浪费存储空间,增加更新开销,更严重的是,由于不能统一修改,容易造
成数据的不一致。
(3)数据库系统
从20世纪60年代后期开始。为了实现计算机对数据的统一管理,达到数据共享
的目的,发展了数据库技术。
数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的
共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余度,以提高
4
数据的一致性和完整性;提供数据与应用程序的独立性,从而减小应用程序的开
发和维护代价。
为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase
ManagementSystem)。
1.2数据库系统
一、数据库、数据库管理系统和数据库系统
数据库(DB)
数据库(Database)是存储在计算机存储设备上,结构化的,表现为多种形式的,
可以共享的相关数据集合。它不仅包括描述事物的数据本身,而且还包括相关事
物之间的联系。
数据库管理系统(DBMS)
数据库管理系统(DatabaseManagementSystem)是可以对数据库的建立、使用和
维护进行管理的软件系统。
数据库管理系统作为数据库系统的核心软件,其主要目标是方便用户使用资源,
易于为各类用户所共享,并增进数据的安全性、完整性和可用性。
数据库系统(DBS)
是具有数据库、数据库管理系统的计算机系统。它是由计算机硬件系统、数
据库、数据库管理系统、操作系统和用户(数据库管理员、应用设计人员、最终
用户)五部分组成。DBMS是数据库系统中最重要的核心软件。
数据库系统的特点:
①实现数据共享,减少数据冗余
5
②采用特定的数据模型
③具有较高的数据独立性
④具有统一的数据控制功能
1.3数据模型
一、实体的描述
数据库需要根据应用系统中数据的性质、内在联系,按照管理的要求来设计和组
织。现实世界存在各种事物,事物与事物之间存在着联系。这种联系是客观存在
的,是由事物本身的性质所决定的。
例如:图书馆中有图书和读者,读者借阅图书;学生选课系统中有学生、成绩、
选课,学生可选修课程,学生选修课程可获得成绩。
实体
客观存在并且可以相互区别的事物称为实体。实体可以是实际的事物,也可以是
抽象的事件。
例:职工、图书等属于实际事物,订货、借阅图书等活动是比较抽象的事件。
实体的属性
描述实体的特性称为属性。
二、实体间的联系
6
联系:实体之间的对应关系。它反映现实世界事物之间的相互关联。
如,一个学生可以选修多门课程,一门课程可以被多个学生所选修。
实体间联系的种类是指一个实体集中可能出现的每一个实体,与另一个实体集中
多少个具体实体存在联系。
两个实体间的联系可以归结为三种类型:
一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)
三、数据模型
数据模型:数据库管理系统中用来表示实体及实体间联系的方法。
一个具体的数据模型应当正确地反映出数据之间存在的整体逻辑关系,即数据模
型是数据及其联系的集合。
数据库管理系统所支持的数据模型分为三种:
・层次模型
・网状模型
・关系模型
1.4关系数据库
一.关系模型
(1)关系
一个关系就是一张二维表,每个关系有一个关系名。
(2)元组
二维表的每一行在关系中称为元组。在VFP中,一个元组对应表中一个
记录。
(3)属性
二维表的每一列在关系中称为属性,每个属性都有一个属性名。每个属性
都有属性名,数据类型,长度。
(4)域:属性的取值范围称为域。
(5)关键字
关系中能唯一区分不同元组(记录)的属性或属性组合,称为该关系的
一个关键字。
7
单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合
关键字。(关键字的属性值不能取“空值”)
当一个数据表有多个关键字时,可从中选出一个作为主关键字(或主
键)。
二.关系运算
RUSRPISR—S
选择
从表中找出满足给定条件的行(即元组或记录),构成一个新表的操作称为选择。
投影
从表中指定属性值满足条件的列(即字段),构成一个新表的操作称为投影。
联接
把两个表中相同属性的元组连接在一起,构成一个新表的操作称为联接。
三.完整性控制
为保证关系中数据的正确性和有效性,需建立数据完整性的约束机制
8
来加以控制。
1、实体完整性控制
即记录完整性控制,主要由主关键字等来实现。
2、域完整性控制
即字段完整性控制,主要由字段有效性规则来实现。
3、参照完整性控制
即多表之间数据的一致性控制,主要由参照性规则来实现。
1.5VisualFoxPro6.0系统概述
1.VisualFoxPro的主界面窗口
VFP窗口的显示如下图所示。
VisualFoxPro的主界面窗口
2.VisualFoxPro6.0的工作方式
9
VisualFoxPro6.0支持两种工作方式,
•交互操作方式
•程序执行方式
VisualFoxPro6.0启动后便处于交互操作方式,交互操作方式又分为:
•菜单选择方式
•命令执行方式
程序执行方式:
把多条命令按照要完成的任务和系统的编程规则编成程序,并将其存储为
命令文件,待需要执行该文件时,系统自动执行其中的每条命令,完成所要完成
的任务
3.VisualFoxPro6.0命令结构
VFP命令的书写规则如下:
(1)命令必须以命令动词开始,动词后的各子句顺序任意。
(2)各个单词短语之间至少用一个空格分开。
(3)输入时不区分大小写。
(4)命令动词、短语、函数名可缩写成前4个字符。
(5)一行最多写一条命令,以回车键结束。可通过续行符“;”续行。
4.VisualFoxPro文件类型:
.app生成的应用程序
,cdx复合索引
.idx索引、压缩索引
.dbc数据库
.dbf表
.mnx菜单
.mpr生成的菜单程序
.exe可执行程序
.pjx项目
L6项目管理器
项目管理器是VisualFoxPro6.0中处理数据和对象的主要组织工具,是Visual
FoxPro6.0的“控制中心”,项目是文件、数据、文档和VisualFoxPro6.0对
象的集合,其保存的文件带有.PJX扩展名。在建立表、数据库、查询、表单、
报表及应用程序时,可以用“项目管理器”来组织和管理文件。
(1)查找数据文件
“数据”选项卡包含了一个项目中的所有数据:数据库、自由表、查询和视图。
10
“项目管理器”中的“数据”选项卡如下图所示。
数据库是表的集合,一般通过公共字段彼此关联,使用“数据库设计器”可以
创建一个数据库,数据库文件的扩展名为.DBC。
自由表存储在以.DBF为扩展名的文件中,它不是数据库的组成部分。
查询是检查存储在表中的特定信息的一种结构化方法,利用“查询设计器”
可以设置查询的格式,该查询将按照输入的规则从表中提取记录,查询
被保存为带.QPR扩展名的文件。
视图是特殊的查询,通过更改由查询返回的记录,可以用视图访问远程数据
或更新数据源,视图只能存在于数据库中,它不是独立的文件。
(2)查找表单和报表文件
“文档”选项卡中包含了处理数据时所用的全部文档:输入和查看数据所用
的表单以及打印表和查询结果所用的报表及标签。“项目管理器”中的“文档”
选项卡,如下图所示。
11
表单:用于显示和编辑表中的内容。
报表:是一种文件,它告诉VisualFoxPro6.0如何设置查询,来从表中提取结
果,以及如何将它们打印出来。
标签:是打印在专用纸上带有特殊格式的报表。
练习题:
1.新建一个名为“供应”的项目文件,将数据库“供应零件”加入到新建的“供
应”的项目文件中。
12
[教学总结]:
本单元主要学习了数据库的相关知识,包括数据、信息、数据库、数据库管
理系统、数据库系统、数据模型、关系模型、关系运算;VFP6.0的安装、启动
和退出方法,VFP6.0的操作界面和主要文件类型,VFP6.0系统环境设置,以
及项目管理器的功能和基本用法。
重点是数据模型、项目管理器。
[作业布置]:
实验1.1
P27选择题1、2、3、4、5、7、15
填空题1、3、7、12
[教学后记]:
13
教案
授课时间3月3日至3月14日课时数4+2
理论课叼讨论课口习题课口实验课口上机课区技能课口其他口
授课方式
授课单元第2章VFP数据基础
目的1.掌握常用数据类型
2.掌握变量命名、声明方法及变量种类
与
3.掌握VFP运算符及表达式
要求
4.掌握各种常用函数
本章重点:
重点
整型、数值型、字符型数据;运算符和表达式的运用;常用函数
与
本章难点:表达式和常用函数。
难点
主2.1数据类型
2.2常量与变量
要
2.3运算符和表达式
内
2.4VFP常用函数
容
教学方法
采用多媒体投影授课,课中请部分学生到黑板上练习,加强与学生的互
手段(教动,增加课堂讨论环节,启发式教学,培养学生的实际操作能力。
具)
《VisualFoxPro程序设计基础》卢湘鸿等编清华大学出版社
参考资料《数据库系统概论》史嘉权等编清华大学出版社
实验2.1
思考题、实验2.2
作业P46选择题1、2、4、5、6、8
填空题1、4、6
14
15
讲稿
第二章VFP数据基础
[旧课复习]:
复习内容:
1.VFP6.0的操作界面和主要文件类型
2.在VFP6.0的集成环境中,创建一个名为“学生管理”的项目,
在该项目中建一数据库,将两自由表添加入库,并进行相关的基本
操作
复习目的:熟悉VFP6.0集成环境,熟悉项目管理器
复习时长:大约5分钟
[新课导入]:
导入方式:任何语言都有其规定的语言规范,程序设计语言也不例外。VFP6.0
程序设计语言规定了它自己的语言规范,只有掌握了它,用户才能熟练地运用
VFP6.0系统。
导入目的:让学生了解学习VFP语言的目的
导入时长:大约5分钟
[新课讲授]:
重点:整型、数值型、字符型数据;运算符和表达式的运用;常用函数。
难点:表达式和常用函数。
方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
2.1数据类型
数据库是用来组织和存储数据的,数据的类型有多种,如数值、字符、图片、多媒体等
等。VisualFoxPro6.0给用户提供了多种数据类型,不同的数据类型具有各自的取值范围和
特点,计算机根据不同的数据类型,进行不同的操作。这些数据类型应用于程序设计开发时,
可以通过常量、变量、数组等表现出来。
一、数据类型
VisualFoxPro6.0提供了11种数据类型应用于数据库。
(1)字符型(Character)
⑵货币型(Currency)
(3)日期型(Date)
16
(4)日期时间型(DateTime)
⑸逻辑型(Logical)
(6)数值型(Numeric)
(7)双精度型(Double)
(8)浮点型(Float)
(9)通用型(General)
(10)整型(Integer)
(11)备注型(Memo)
2.2数据类型
一、常量
常量是指在程序运行过程中保持不变的数据量。常被应用于程序开发的调试阶段,具
有字符型、数值型、日期型、日期时间型、逻辑型等多种类型。
1、字符型常量,用单引号、双引号或括号括起来的字符串:
如:“ABCD”,,你好',[VFP6.0]
2、数值型常量,如:5,28.23,-3;
3、日期型常量和日期时间型常量,如:{八2001-10-30},{人2001-10-3011:25am};
4、逻辑型常量,只有两种:逻辑真用.T.、.t.或.Y.、.y.表示,逻辑假用.F.、.f.
或.N.、.n.表示,o
二、变量
变量是指在操作过程中其值允许变化的量。变量代表计算机内存中的某一位置,其中可
存放数据。可以改变一个变量的内容,但其名称和存储区域可以一直使用,直到结束Visual
FoxPro工作期或释放该变量。
变量:
•内存变量
•字段变量
•系统变量
(一)、内存变量:
内存变量用来存储数据,在程序开始运行时在内存中创建,在程序结束时从内存中释放。
内存变量包括简单内存变量和数组两种。
变量名:由英文字母、汉字、数字或下划线构成,但必须以英文字母、汉字或下划线开
头,其长度小于等于128字符,但不能与系统的保留字同名。
1、简单内存变量:
VFP通过给简单内存变量赋值的方式来建立简单内存变量:
V内存变量名>=<表达式>
STORE〈表达式〉TO〈内存变量名表〉
2、数组
数组是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素。数组必须先
17
定义后使用。
(1)数组的定义
格式:DIMENSION|DECLARE[(数组名〉(〈下标1>[,<下标2>]),〈数组名〉(<
下标1>[,<下标2>])……]
VFP规定数组下标从1开始。
(2)数组的赋值
系统将各数组元素的初值设置为.F.,用赋值命令可以为数组元素单个地赋值,也可以
为整个数组的各个元素赋以相同值,允许同一数组的元素类型不同。
(二)字段变量
数据库中数据以二维表的形式存在,表的行、列分别称为记录和字段。表的每一个字段
都是一个字段变量,变量的值因记录的不同而不同,字段变量在建立表结构时定义,修改表
结构时可以重新定义。
注:当同名的内存变量与字段变量同时出现时,系统默认为字段变量。如要指定其中的
内存变量,需要在变量名前加上“m.”或例如m.ab,m->abo
(三)系统变量
系统变量是由VisualFoxPro系统提供的,都是以下划线开头,分别用于控制外部设备、
屏幕输出格式、或处理有关计算器、日历、剪贴板等方面的信息。
2.3运算符与表达式
运算符:是在VFP中用来进行运算的符号。
表达式:就是常量,变量和函数用运算符连接起来的式子,根据运算对象的数据类型不
同,表达式可以分为算术表达式、字符表达式、日期和时间表达式、关系表达式和逻辑表达
式。
常量、变量和函数本身就可作为一个表达式。
一、算术表达式
算术表达式由算术运算符与数值型常量、变量、函数构成,运算结果仍为数值型。又
称数值表达式,其运算对象和运算结果均为数值型数据。
算术运算符及其优先级:
()括号一**或人(乘方)一*、/、%(乘、除、取余)一+、-(加、减)
计算下列表达式的值
?-8+3*5%2A6/5*(sin(0)-8)
?-8+3*5%-2A6/5*(sin(0)-8)
?-8+3*5%-(2A6)/5*(sin(0)-8)
为了增强程序代码的可读性,可以使用()使表达式的计算次序显得更清晰
程序代码的可读性在很多时候比程序运行的速度更重要
18
二、字符表达式
字符表达式由字符运算符与字符型常量、变量、函数构成,运算结果为字符型或逻辑型。
VFP字符运算有两类:连接运算和包含运算。它们的优先级相同:
1、连接运算
连接运算符有完全连接运算符“+”和不完全连接运算符“-"2种。
+:前后两个字符串首尾连接形成一个新的字符串。
-:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
字符串表达式运算结果
"计算机世界"计算机世界
,,l□have□aUU"+,,Book,,1□haveEHaLJLJBook
"计算机"世界"计算机世界□□
'"□haveDLIa□"一"Book"1DhaveLILJaBookn
2、包含运算
“$”是字符串的包含运算符,其运算的结果是逻辑值。如果字符串1包含在字符串2中,
则运算结果为真(1),否则为假(.F.)。包含运算符区分大小写。
三、日期表达式和日期时间表达式
日期和日期时间运算符分为“+”和两种,其作用分别是在日期数据上增加或减少天数,
在日期时间数据上增加或减少秒数。两个运算的优先级别相同。
注意:日期型不能和日期型数据相加
例:已知2009年3月3日星期二,求2010年1月1日星期几?
?({A2010/01/01}-{A2009/03/03)+2)%7
四、关系表达式
由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。关系表
达式的返回值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。关系运算符具有相同
的优先级。(见P50)
当运算对象为字符型时,可用命令SETEXACTON/OFF来设置“=”是否为精确比较。在非精
确比较时,在关系表达式的格式中,只要后一个表达式是前一个表达式的前缀,其结果便为
真。
【例2.101关系运算示例。
SETEXACTOFF&&设置字符串为非精确比较,只要右边字符串与左边字符串的前
面部分相匹配,即为逻辑真。
?1244.33>22&&.T.
19
?aa>bb&&.T.或者.F,取决于变量aa和bb的内容
?"A">"B"&&.F.
?“助教,>“教授”&&.T.
zc=”教授口□”
?zc="教授","教授"=zc,"教授"==LEFT(zc,4),zc=="教授"
主窗口显示:.T.,F..T..E
注意:在非精确比较状态下,条件zc="教授”与条件“教授”=zc不等价。另:,=,与,$,
功能相反
例:
x=50
y=8
x=x+y
?x,x=x+y
58.F.
z=y=y+l
?z
.F.
a=x>20
?a
,T.
五、逻辑表达式
由逻辑运算符将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对
象与运算结果均为逻辑型数据。逻辑运算符前后一般要加圆点标记,以示区别,也可省略。
逻辑运算符:.NOT.(或!)一.AND.—.OR.
设:
abcd
TFTF
?aandborcandd&&结果为F
?(aandborc)andd&&结果为F
?aorbandcord&&结果为T
?aand!bor!(candd)&&结果为T
例:逻辑运算示例。
x=8
y=15
?x>5,y<10,x>5ORy<10,x>5ANDy<10,NOTy<10
20
王窗口显不:.T..F..T..F..T.
例:
?15>2*6AND("jiao'Y'jiang'')OR.T.<.F.
.F.
?(13%3=1)AND(27%5=2)OR“ab”="ad”
.T.
2.4VisualFoxPro6.0常用函数
标准函数是系统提供的可以实现特定功能的一段程序。只要调用它,就能得到相应的输
出结果。
函数的一般形式如下:
函数名([<参数名1>]3<参数名2>,]…[,<参数名n>])
VisualFoxPro提供了大量的标准函数。
一、数值处理函数
进行数值运算,处理数值型数据。包括三角、对数、指数、数值转换和测试等函数。函
数功能如下:
ABS(〈数值表达式〉):求〈数值表达式>的绝对值
EXP(〈数值表达式〉):求e的〈数值表达式>次方的值
SQRT(〈数值表达式〉):求〈数值表达式>的平方根
INT(〈数值表达式〉):返回〈数值表达式〉的整数部分
LOG(〈数值表达式〉):返回〈数值表达式>的对数值
MAX(〈数值表达式1>,(数值表达式2>...):
返回两个以上数值中的最大者
MOD(〈数值表达式1>,<数值表达式2>)取模,
即返回两数相除所得的余数。
ROUND(〈数值表达式1>,<数值表达式2>):
〈数值表达式1>四舍五入,保留〈数值表达式2>位小数
RAND(〈数值表达式〉):返回一个0〜1之间的随机数。
CEILING(〈数值表达式〉):返回大于等于〈数值表达式>的最小整数。
FLOOR(〈数值表达式>):返回小于等于〈数值表达式〉的最大整数。
二、字符串处理函数
LEN(〈字符表达式〉):
返回字符串的长度,一个汉字占两个字符长度。
SPACE(<数值表达式〉)
返回〈数值表达式>个空格
LOWER(〈字符表达式,)
将大写字母转换为小写
21
UPPER(〈字符表达式〉)
将小写字母转换为大写
AT(〈字符表达式1>,〈字符表达式2>[,<数值表达式>])
返回字符串〈字符表达式1>,在〈字符表达式2>中第<数值表达式〉次出现的起始位置,
若〈字符表达式2>不包含〈字符表达式1>,则函数值为Oo
LEFT(〈字符表达式><数值表达式〉):
返回〈字符表达式>左起〈数值表达式>个字符的子串
RIGHT(〈字符表达式><数值表达式)):
返回〈字符表达式>右起<数值表达式〉个字符的子串
SUBSTR(〈字符表达式),〈数值表达式1>[,<数值表达式2>])
返回〈字符表达式〉中第〈数值表达式1>位起的长度为〈数值表达式2>的子串
ALLTRIM(〈字符表达式〉)删除字符串前导和末尾的空格
日期时间函数
CTOD(〈字符表达式>):将〈字符表达式〉转换为日期
DTOC(〈日期表达式〉):将<日期表达式〉转换为字符串
DTOS(<日期表达式>):将〈日期表达式〉转换为YYYYMMDD格式字符串
TIME()以HH:MM:SS的格式返回系统当前时间
DATE()返回系统的当前日期
DATETIME():返回系统的当前日期及时间
YEAR(〈日期表达式》):返回〈日期表达式〉所指的年份
MONTH(〈日期表达式〉):返回〈日期表达式>所指的月份
DAY(〈日期表达式)):返回〈日期表达式>所指的日
HOUR(〈日期时间表达式>):返回〈日期时间表达式〉所指的小时
MINUTE(〈日期时间表达式〉):返回〈日期时间表达式〉所指的分
SEC(〈日期时间表达式〉):返回〈日期时间表达式〉所指的秒
四、数据类型转换函数
在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的
需要。VFP系统提供了若干个转换函数,较好地解决了数据类型转换的问题。
1、字符串转换为数值函数
格式:VAL(〈数字字符串〉)
功能:将数字字符串(包括正负号、小数点)转换为对应的数值型数据。若字符串
内出现非数字,字符就停止转换;若字符串的首字符为非数字符,则返回值为0,但忽略前
导空格
2、数值转换成字符串函数
格式:STR(〈数值型表达式>[,<长度>,[,<小数位数>]])
功能:将〈数值型表达式〉的值转换成字符串,转换时根据需要自动四舍五入。〈小
数位数>的默认值为0,〈长度〉的默认值为10。X=-1234.567&&L=6+小数位
22
数
?STR(X,12,4)&&nn-1234.5670
?STR(X)&&DDDDD-1235
?STR(X,8)&&DDD-1235
?STR(X,7,3)&&-1234.6
?STR(X,4)&&****
3、字符与ASCII之间的转换函数
格式:ASC(〈字符型表达式〉)
CHR(〈数值型表达式〉)
功能:ASC()函数给出指定字符串最左边的一个字符的ASCII码值。函数值为数值型。CHR()
函数将数值表达式的值作为ASCII码,转换为对应的字符。函数值为字符型。
4、字符串转换成日期或日期时间函数
格式:CTOD(〈字符型表达式〉)
CTOT(<字符型表达式〉)
功能:CTOD()将(〈字符型表达式〉)值转换成日期型数据。
CTOT()将(〈字符型表达式〉)值转换成日期时间型数据。
5、日期或日期时间转换成字符串
格式:DTOC(〈日期表达式>|〈日期时间表达式>[,1])
TTOC(<日期时间表达式>[,1])
功能:DTOC()将日期型数据或日期时间型数据的日期部分转换成字符串。TTOC()将
日期时间型数据转换成字符串。
五、测试函数
1、NULL值测试函数
格式:ISNULL(〈表达式>)
功能:判断表达式的运算结果是否为NULL值,若是NULL值返回逻辑真(T),
否则返回逻辑假(.F.)。
2、空值测试函数
格式:EMPTY(〈表达式〉)
功能:根据指定表达式的运算结果是否为“空”值,返回逻辑真(T)或逻辑假(.F.)。
3、数据类型测试函数
格式:VARTYPE(〈表达式〉)或TYPE(〈表达式〉)
功能:测试〈表达式>的类型,返回一个表示数据类型的大写字母。
4、值域测试函数
格式:BETWEEN^被测试表达式T>,V下限表达式L>,<上限表达式H>)
功能:判断被测试表达式的值是否介于另外两个表达式的值之间。当〈表达式T>值大于等
于〈表达式L>且小于等于〈表达式H>时,函数值为逻辑T,否则函数数值为逻辑.F.。如果<
表达式1>或<表达式H>有一个是NULL值,那么函数值也是NULL值。
5、条件测试函数
23
格式:IIF(〈逻辑型表达式,,〈表达式1〉,〈表达式2>)
功能:测试〈逻辑表达式>的值,若为逻辑真1,函数返回〈表达式1>的值;若为逻
辑假.F.,函数返回〈表达式2〉的值。〈表达式1>和<表达式2>的类型不要求相同。
6、表文件首测试函数
格式:BOF(<E作区号>|〈表别名〉)
功能:判断指定工作区中当前表文件的指针是否指向文件首部,是就返回1,否就返
回.F.
7、表文件尾测试函数
格式:EOF(〈工作区号>|〈表别名〉)
功能:判断指定工作区中当前表文件的指针是否指向文件尾部,是就返回T,否就返
回.F.
六、系统对话框函数
MESSAGEBOX
在程序设计过程中,经常要显示一些提示信息、错误信息等,这些信息的显示用的就是函数
MESSAGEBOXo
格式:
MESSAGEBOX(〈信息文本〉[,〈对话框类型>][,(对话框标题>])
功能:以窗口形式显示信息,返回值为数字(表示用户按了那个键)。
练习题
1.设工资=1200,职称="教授”,下列逻辑表达式的值是
工资>1000AND(职称="教授"0R职称="副教授”)
2.设系统日期为2001年12月31日,下列表达式的值是
VAL(SUBSTR(u1999w,3)+RIGHT(STR(YEAR(DATE())),2))+17
3.命令?TYPE(“10/25/01")的输出值是。
4.两个日期型数据可进行减法运算,结果为—数据;日期型数据可加或减一个数值数据,
结果为。
5.?AT(“+”,”a+b=c”)o
6.?LEN(“计算机”)〈LEN(“COMPUTER")。
7.?ROUND(123.456,2)?ROUND(123.456,-2)。
8.若a=5,b="a〈10”,则TYPE(b)输出结果为,而?TYPE("b”)输出结果
为o
9.表达式3+3>=6OR3+3>5AND2+3=5的结果为。
10.表达式“WorldWideWeb"$”World”的结果为。
11.设R=2,A="3*R*R",贝!I&A的值应为()。
A.0B.不存在C.12D.3*R*R
24
12.STR(109.87,7,3)的值是()»
A.109.87B.“□109.87”C.109.870D.”109.870”
13.在逻辑运算中,正确的运算次序是()。
14.已知D1和D2为日期型变量,下列4个表达式中非法的是()。
A.D1-D2B.D1+D2C.Dl+28D.D1-36
15.下列4个表达式中,运算结果为数值的是()。
A.”9988”-“1255”B.200+800=1000
C.CT0D({11/22/01}-20)D.LEN(SPACE(3))-1
16.设有变量sr="2005年下半年全国计算机等级考试”,能够显示“2005年下半年计算机
等级考试”的命令是()。
A.?sr-“全国”
B.?SUBSTR(sr,1,8)+SUBSTR(sr,11,17)
C.?STR(sr,1,12)+STR(sr,17,14)
D.?SUBSTR(sr,1,12)+SUBSTR(sr,17,14)
17.以下赋值语句正确的是()。
A.STORE8TOX,YB.STORE8,9TOX,Y
C.X=8,Y=9D.X,Y=8
25
[教学总结]:
本单元主要介绍了VFP6.0基本语言规范,包括常量、变量、函数、运算符
及其表达式。它是学习后继单元的基础,力求全面掌握。
重点是整型、数值型、字符型数据;运算符和表达式的运用;常用函数。
[作业布置]:
实验2.1
实验2.2
P46选择题1、2、4、5、6、8
填空题1、4、6
[教学后记]:
26
教案
授课时间3月14日至3月23日课时数2+4
授课方式理论课0讨论课口习题课口实验课口上机课目技能课口其他口
授课单元第3章VFP数据库及操作
1)熟练掌握数据库、表的创建
目的2)掌握表结构的显示与修改。
与3)掌握记录的追加、插入和删除。
要求4)掌握记录的删除与恢复命令。
5)掌握表文件的复制与删除命令。
重点
与1)数据库、表的建立、编辑和维护。
2)数组与表之间的数据交换命令。
难点
3.1VFP数据库的建立
主要内容3.2创建数据库表
3.3表的基本操作
教学方法
采用多媒体投影授课,加强与学生的互动,增加课堂讨论环节,启发式
(教具)教学,培养学生的实际操作能力。
《VisualFoxPro程序设计基础》卢湘鸿等编清华大学出版社
参考资料《数据库系统概论》史嘉权等编清华大学出版社
实验3.1
思考题、实验3.2
作业P63选择题1、2、4、5、8、10
填空题1、3、5
27
28
讲稿
第3章VFP数据库及操作
[旧课复习]:
复习内容:
1.以互动方式了解学生对整型、数值型、字符型数据掌握程度
2.了解学生对VFP运算符及表达式掌握程度
3.了解学生对各种常用函数的掌握
复习目的:了解学生对vfp数据类型,运算符及常用函数的掌握程度及层次情况
复习时长:大约5分钟
[新课导入]:
导入方式:解读数据库应用已普及到社会的方方面面,表是数据库中的的最基本
元素。简单介绍表的基本操作。
导入目的:增强学生的学习积极性
导入时长:大约5分钟
[新课讲授]:
重点:1)数据库、表的建立、编辑和维护。
2)数组与表之间的数据交换命令。
难点:数组与表之间的数据交换命令。
方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
3.1掌握数据库的基本操作
一、数据库的概念
数据库是数据库对象(如表、视图、存储过程等)的集合。在数据库的组织管理下,可
以方便地为表中字段设置输入和显示属性,设置默认值,为表创建字段级有效性规则、记录
级有效性规则和触发器,为各表之间建立永久关系,创建视图等。
二、数据库的建立与编辑
29
1.交互创建数据库
交互创建数据库既可用菜单也可用工具栏。
选“文件,,一“新建,,-“新建”对话框,文件类型选“数据库”,单击“新建文件”命名
按钮一显示“创建”对话框,如图所示。
在“保存在”位置输入创建的数据库文件保存的文件夹,
在“数据库名”框内输入要创建的数据库的主文件名。
2.命令操作数据库
在命令窗口键入相应的命令也可创建数据库。操作数据库命令如下。
(1)创建数据库。
格式:CREATEDATABASE数据库名
执行该命令后,从界面上看不出任何反映,但数据库文件已经建立。除非在数据
库名前指定路径,否则创建的数据库文件存放在当前默认的文件夹中。默认
的文件夹可通过SETDEFAULTTO命令设定。
(2)打开数据库。
格式:OPENDATABASE数据库名
(3)修改数据库。
格式:MODIFYDATABASE数据库名
(4)关闭数据库。
格式:CLOSEDATABASE
(5)删除数据库(文件)。
格式:DELETEDATABASE数据库名[RECYCLE]
30
带RECYCLE项,则将删除数据库文件放入回收站中,可在回收站
中进行还原操作,恢复删除的数据库(文件)。
【例】创建人员信息数据库,数据库名为RY。
CREATEDATABASERY
(查看文件RY.DBC,RY.DCT,RY.DCX)
OPENDATABASERY&&重新打开RY数据库
MODIFYDATABASERY
(数据库设计器-RY)
CLOSEDATABASE
3.2创建数据库表
一、表结构设计
表结构设计在“表设计器”中完成。打开表设计器方法有以下几种:
1、菜单方式:“文件”一“新建”
2、项目管理器:“数据库”一“表”
3、命令:CREATE〈表文件名〉
二、修改表结构
1、菜单方式:在表快捷菜单中选择“修改“命令
2、命令方式:MODIFYSTRUCTURE
三、复制表结构
格式:COPYSTRUCTURETO〈目标表名〉[FIELDS字段名表]
3.3表的基本操作
数据表操作基本命令汇总
1、打开表/关闭表
USE/CLOSEALL/CLEARALL
2、移动记录指针
GO/SKIP
显示表结构/记录
LIST|DISPSTRUCTURE/LIST|DISP/BROWSE
3、添加记录
APPEND/INSERT
4、删除/恢复记录
DELETE/RECALL/PACK/ZAP
5、更改记录
REPLACE
31
6、查找记录
LOCATE(CONTINUE)/FIND/SEEK
7、排序
SORTTO
8、建立索引
INDEXON
9、使用索引
SETINDEXTO/SETORDERTO
10、关闭索引
CLOSEINDEX
11、删除索引
DELETETAG
12、复制记录
COPYTO
13、记录与数组之间数据交换
SCATTER/GATHER
14、选择工作区
SELECT
15、建立关联
SETRELATIONTO
实例操作
1显示学生成绩中的所有记录
2显示第8—21条记录
3显示分数>90分的同学的姓名,性别,课程名称,分数
4显示分数>90分的女生和分数>85的男生
5显示分数在80—90之间的同学
6显示姓刘的同学的大学语文和计算机基础成绩
7显示大学语文和高等数学至少有一门不及格成绩的男生
一、通过菜单操作表
在“浏览”表的状态,系统自动产生一个“表”主菜单,选择菜单中的菜单项就可对表进行
常用操作,如下图所示。需要注意的是,当用户选择了一个菜单项时,在命令窗口中会出现
一条相应的命令,这实际上是选择菜单项操作相当于发出的VFP操作表的命令。关于使用命
令操作表将在随后讲解。
1.追加新记录
在表的末尾追加一条空记录,并使该记录变成当前记录。用户即可向该空记录中填入数
据。例如,一开始“基本情况”表中没有任何记录,用此方法向库中追加部分记录。
追加记录菜单项,其作用是将别的表(文件)中的记录加入当前表中。
32
2.转到记录
用于改变当前记录。在子菜单中除了可转到“第一个”记录、“最后一个”记录、“上一个”记录、
“下一个”记录外,选择“记录号”项,就会出现一个小对话框让用户选择要转到的记录号。选
择“定位记录”项,可按用户指定的条件进行记录定位,系统显示如下图所示。
命令短语具体内容含义
ALL表示数据表的所有记录
RECORDn指定第n条记录
范围子句
NEXTn从当前记录开始的n条记录
REST从当前记录到文件结束的所有记录
说明操作数据表的各字段名,之间用“,”隔
FIELDS子句FIELDS(字段名表〉开。不选择该子句,则命令对表中所有字段
进行操作
FOR子句FOR<条件>默认范围ALL
WHILE子句WHILE<条件>默认范围REST
TOPRINTER|TOFILETOPRINTER|T0FILE〈文选择时,结果输出到打印机或文件,否则输
子句件名〉出到屏幕
3.删除记录
删除记录下用于删除表中不需要的记录。系统显示的界面与定位时相同。
VFP删除记录分两步进行,这里的删除记录仅是在库中做删除标记。做过删除标记的记
录在“浏览”窗口最前面一个小栏会显示一个小黑方块,如再单击这个方块就可将删除标
记去掉。要使做过删除标记的记录不显示,可在命令窗口输入SETDELETEON命令。
要从表中彻底删除具有“删除标记”的记录,选择“彻底删除”菜单项。
4.恢复记录
恢复记录是用于恢复做过删除标记的记录。系统显示的界面与定位时相同,也就是将具
有删除标记的记录中符合恢复条件的记录的删除标记去掉。
5.替换字段数据
替换字段就是自动修改记录的内容。系统显示的界面如图2.7所示。
33
6.追加记录
追加记录就是将另一个DBF或其他格式的表的数据加入当前打开(指定)的表中,如图2.8
所示。
二、命令方式操作表
USE、LIST|DISPLAY>GO、SKIP、BROWSE
打开表
USE[<表名>][IN工作区号Alias<别名>]
■一个工作区同时只能打开一个表,所以使用USE命令在一个工作区打开一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西高三联考试卷及答案
- 厦门高一生物试卷及答案
- 2025年赤峰商铺租赁合同范本
- 纸板容器制造工艺改进考核试卷
- 磁性材料研发考核试卷
- 浙江国企招聘2025台州临海工投紫光环保科技有限公司招聘32人笔试参考题库附带答案详解
- 潜水装备的水下环境适应性考核试卷
- 北京考试试题及答案
- 河南成人大专考试试题及答案
- 硅冶炼厂的尾气处理与减排措施考核试卷
- 地图常用地物符号
- 附着式升降脚手架现场检查表
- 高考理综试题答题技巧方法!课件
- 一体化泵站检测报告(共6页)
- 契税补贴申请表
- 西山煤电集团白家庄矿煤层开采初步设计
- 鲁班奖迎检分工细化
- Q∕GDW 12100-2021 电力物联网感知层技术导则
- 最新金属软管设计制造新工艺新技术及性能测试实用手册
- 渠道项目报备管理规定
- 心理咨询记录--个案5
评论
0/150
提交评论