Visual FoxPro 6.0数据库应用基础教程_第1页
Visual FoxPro 6.0数据库应用基础教程_第2页
Visual FoxPro 6.0数据库应用基础教程_第3页
Visual FoxPro 6.0数据库应用基础教程_第4页
Visual FoxPro 6.0数据库应用基础教程_第5页
已阅读5页,还剩756页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

任务一安装VisualFoxPro任务二创建职工信息管理系统0102目录CONTENTS任务一安装VisualFoxProVisualFoxPro的安装一般有两种方式:通过软件光盘安装或从硬盘安装(可以通过网络搜索并下载VisualFoxPro的安装程序)。下面以使用软件光盘安装VisualFoxPro为例介绍其具体操作。任务说明将VisualFoxPro软件光盘放入光驱,这时VisualFoxPro安装程序会自动启动并打开图1-1所示的“VisualFoxPro6.0安装向导”对话框。01STEP任务实施

单击“下一步”按钮,打开“最终用户许可协议”界面,选中“接受协议”单选钮,然后单击“下一步”按钮打开“产品号和用户ID”界面。02STEP任务实施

在“产品号和用户ID”界面中输入产品的ID号(通常会写在光盘封面上,如果是通过网络下载的安装程序则通常会在软件安装文件夹中的“说明.txt”或“sn.txt”文档内),然后单击“下一步”按钮打开“选择公用安装文件夹”界面。03STEP任务实施

在“选择公用安装文件夹”界面中可以通过单击“浏览”按钮重新选择程序的安装位置,不过通常我们保持默认设置,直接单击“下一步”按钮即可。04STEP任务实施

在打开的“VisualFoxPro6.0安装程序”对话框中单击“继续”按钮。05STEP任务实施

在打开的“ProductID”界面中显示了用户的产品ID,直接单击“确定”按钮即可。06STEP任务实施

在打开的“选择安装类型”界面中选择VisualFoxPro的安装类型,本例单击“典型安装”按钮,按照程序默认设置开始安装VisualFoxPro(如果要修改VisualFoxPro的安装位置或安装组件,请单击“自定义安装”按钮,然后根据提示进行操作即可)。07STEP任务实施VisualFoxPro安装结束后会弹出图1-9所示的“安装完成”界面,单击“确定”按钮即可。08STEP任务实施

这时VisualFoxPro6.0安装向导会打开图1-10所示的界面。如果您的安装光盘(或程序)中带有MSDN(VisualFoxPro的帮助文档),则可以勾选“安装MSDN(I)”复选框以安装帮助文档,否则请取消“安装MSDN(I)”复选框,不安装帮助文档。本例选择不安装帮助文档,单击“下一步”按钮。09STEP任务实施

在打开的“不安装MSDN”对话框中单击“是”按钮不安装帮助文档,这时会打开Web注册界面,本例取消“现在注册”复选框,选择不进行网上注册,然后单击“完成”按钮完成VisualFoxPro的安装。10STEP任务实施支撑知识点

首次打开VisualFoxPro时会弹出如图所示界面,在该界面中可以执行创建应用程序、打开项目等操作,如果不想每次启动VisualFoxPro都显示该界面,可以选择“以后不再显示此屏”复选框,然后单击“关闭此屏”。标题栏工作区状态栏菜单栏命令窗口“常用”工具栏支撑知识点VisualFoxPro的主窗口一菜单栏和工具栏支撑知识点

菜单栏是VisualFoxPro命令的集合,如下图所示。VisualFoxPro的所有操作都可以通过选择相应菜单来完成。系统的各主菜单中包含了近70条命令(子菜单项),这些命令被分成了文件、编辑、格式和窗口等几大类(对应各主菜单名)。值得注意的是,菜单栏的内容并不是固定不变的,随着VisualFoxPro中操作对象的改变,菜单栏的内容也会相应地变化。菜单栏

“常用”工具栏位于菜单栏的下方,如下图所示。它提供了执行命令的一种快捷方式。单击该工具栏中的按钮,即可执行该按钮代表的命令。

VisualFoxPro提供了11个预设的工具栏。第一次启动VisualFoxPro时,只显示“常用”工具栏。如果要显示其他工具栏,可选择“显示”→“工具栏”菜单命令,打开图1-17所示的“工具栏”对话框,在此对话框中即可根据需要选择显示或关闭某些工具栏。支撑知识点工具栏二命令窗口和工作区VisualFoxPro的工作区又称主窗口,是VisualFoxPro的操作平台。工作区用于显示命令或程序的运行结果,各种工作窗口也将在这里展开。支撑知识点命令窗口工作区三项目管理器简介支撑知识点01020304选择“文件”→“新建”菜单命令或者直接单击“常用”工具栏中的“新建”按钮

,打开“新建”对话框。选择“项目”单选按钮,然后单击“新建文件”按钮,打开“创建”对话框。单击“保存”按钮,完成项目文件的创建。设置项目文件名和项目文件的保存路径。项目管理器的基本操作1创建项目文件2打开和关闭项目管理器选择“文件”→“打开”菜单命令或者直接单击“常用”工具栏中的“打开”按钮,打开下图所示的“打开”对话框。在“打开”对话框中,在“查找范围”下拉列表框中选择存放项目文件的路径,在“文件类型”下拉列表框中选择“项目”,在文件列表中选择需要打开的项目文件。单击“确定”按钮,即可打开指定的项目文件,其对应的项目管理器也会自动打开。231打开项目管理器支撑知识点3查看和选择项目中的对象

如果不再需要项目管理器,单击项目管理器右上角的“关闭”按钮

,即可关闭项目管理器。同时,对应的项目文件也会自动关闭。

如果想要查看项目中的对象,既可以在“全部”选项卡中查找,也可以在分类选项卡中分类查找需要的对象。使用分类选项卡可以加快查找对象的速度。查看项目中的对象

选择项目中的对象

如果需要选择项目中的对象,单击该对象即可。支撑知识点项目管理器对话框的组成01该页面包含了项目中的所有数据,包括数据库、自由表、查询和视图。02该页面包含了项目中所有处理数据所用的全部文档,通常包括表单、报表等文件。03该页面支持用户将项目中的一些单一控件进行组合,从而形成一个新的整体。04该页面包含了程序、API库和应用程序等。05该页面包含了菜单、文本文件等。“数据”选项卡“文档”选项卡“类”选项卡“代码”选项卡“其他”选项卡

项目管理器对话框由六个选项卡组成,分别是“全部”、“数据”、“文档”、“类”、“代码”和“其他”选项卡。支撑知识点任务二创建职工信息管理系统

下面我们通过建立职工信息管理系统来认识VisualFoxPro的界面。任务说明启动VisualFoxPro,选择“文件”→“新建”菜单命令或直接单击”常用”工具栏中的“新建”按钮

,打开“新建”对话框。01STEP任务实施选择“项目”单选按钮,再单击“新建文件”选项,弹出图1-21所示的“创建”对话框。在“保存在”下拉列表框中选择“E:\职工”文件夹,在“项目文件”文本框中输入“职工信息管理系统”,最后单击“保存”按钮,保存项目文件。02STEP任务实施

此时,VisualFoxPro自动打开相应的数据库设计器和“数据库设计器”工具栏,如下图所示。任务实施项目管理器中有“全部”、“数据”、“文档”、“类”、“代码”和“其他”6个选项卡,单击可进行切换。切换到“数据”选项卡下,选择“数据库”选项,再单击“新建”按钮,打开“新建数据库”对话框,如右图所示。03STEP任务实施单击“新建数据库”选项,打开“创建”对话框,将数据库以“职工信息管理数据库”为名保存在“E:\职工”文件夹下。此时,VisualFoxPro自动打开相应的数据库设计器和“数据库设计器”工具栏,如右图所示。04STEP任务实施选择“数据库”→“新建表”菜单命令或直接单击“数据库设计器”工具栏中的“新建表”按钮

,弹出右图所示的“新建表”对话框。在该对话框中单击“新建表”选项,然后在弹出的“创建”对话框中,以“个人信息表”为名将表保存在“E:\职工”文件夹下。05STEP任务实施创建表文件后,系统自动打开相应的表设计器,如右图所示。表设计器中有“字段”、“索引”和“表”3个选项卡,默认打开“字段”选项卡。06STEP任务实施在表设计器中可以设计表的结构信息。在“字段名”文本框中输入“职工编号”,在“类型”下拉列表框中选择“字符型”,在“宽度”编辑框中设置数值为6,其他选项保持默认设置,如右图所示。使用相同的方法,依据表1-1所示,继续添加个人信息表的其他结构信息。07STEP任务实施字段名称字段类型字段宽度小数位数字段名称字段类型字段宽度小数位数职工编号字符型6—是否已婚逻辑型1—姓名字符型8—居住地址字符型20—性别字符型2—照片通用型4—出生年月日期型8—学历简介备注型4—表1-1个人信息表的结构任务实施单击“确定”按钮,弹出左图所示的对话框,询问是否现在输入数据记录。单击“是”按钮,打开数据编辑窗口,如右图所示。08STEP任务实施在编辑窗口中输入个人信息表中第一条记录的字段值,如左图所示。输入备注型字段“学历简介”中的内容时,可以双击表示备注型字段的memo,弹出编辑备注型字段内容的窗口,输入右图所示内容后,单击窗口的“关闭”按钮

即可将内容保存到备注型字段中。09STEP任务实施重复步骤9,根据右图和表1-2所示继续添加个人信息表中的其他记录。10STEP任务实施表1-2个人信息表“学历简介”字段中的内容任务实施姓名备

注张华研究生学历:研究生就读于清华大学,本科就读于清华大学李静研究生学历:研究生就读于清华大学,本科就读于北京邮电大学孙文秀本科学历:本科就读于山东大学王阳本科学历:本科就读于大连理工大学李伟研究生学历:研究生就读于北京航空航天大学,本科就读于北京航空航天大学周秀英本科学历:本科就读于北京邮电大学马艳梅本科学历:本科就读于西安科技大学魏媛媛研究生学历:研究生就读于北京师范大学,本科就读于北京工业大学刘凯博本科学历:本科就读于河北大学蔡梅本科学历:本科就读于南京大学一数据库基本概念支撑知识点A数据是一种未经加工的原始资料。数字、文字、符号、图像等都是数据。数据(Data)C数据库管理系统是指位于操作系统和用户之间,负责数据库存取、维护和管理的软件系统。它通常由数据描述语言DDL(DataDefinitionLanguage)、数据操纵语言DML(DataManipulationLanguage)以及其他管理系统组成。数据库管理系统(DatabaseManagementSystem,DBMS)B数据库是为了实现一定的目的而按照某种规则组织起来的数据的集合。用户可以对数据库中的数据进行添加、修改、查询和删除等操作。数据库(Database,DB)D数据库系统通常是指带有数据库的计算机应用系统,它不仅包括数据库本身,还包括相应的硬件、软件和各类人员,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库系统的组成示意图如右图所示。数据库系统(DatabaseSystem,DBS)支撑知识点二数据库技术的产生与发展人工管理阶段在计算机发明之前及计算机发明之初,一直是人工管理数据。人工管理数据的缺点是工作量大、数据处理困难、不便交流等。文件系统阶段20世纪50年代后期到60年代中期,由于计算机大容量存储设备(如硬盘)的出现,推动了软件技术的发展,而操作系统的出现标志着数据管理步入了一个新的阶段。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。操作系统可以按照文件的名称对其进行访问,对文件中的记录进行存取,并可以实现数据的修改、插入和删除。文件系统实现了记录内的结构化,但是文件从整体上看却是无结构的,因此数据共享性差、存在大量的数据冗余,管理和维护的代价也很大。支撑知识点数据库阶段20世纪60年代后期,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序开发与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。支撑知识点面向企业或部门,以数据为中心组织数据,形成综合性的数据库,为各应用共享。数据库技术的特点采用一定的数据模型。数据模型不仅要描述数据本身的特点,而且要描述数据之间的联系。数据冗余小,易修改、易扩充。不同的应用程序根据处理要求,从数据库中获取需要的数据,这样就减少了数据的重复存储,也便于增加新的数据结构,便于维护数据的一致性。程序和数据有较高的独立性。具有良好的用户接口,用户可方便地开发和使用数据库。对数据进行统一管理和控制,提供了数据的安全性、完整性以及并发控制。支撑知识点三常用的数据模型层次模型网状模型关系模型面向对象模型常用的数据模型

数据模型决定了数据库系统的结构、数据定义语言、操纵语言、数据库设计方法及数据库管理系统软件的设计与实现。支撑知识点层次模型

层次模型是数据库系统最早采用的数据模型,它用树形结构来表示实体及实体之间的关系,根结点在最上端,层次最高,子结点在下,逐层排列。在该模型中,每个结点表示一个记录类型,除根结点外,其他结点有且只有一个父结点,如右图所示。

从层次模型的描述中可以看出,父结点和子结点之间是一对多的联系,因此基于层次模型的数据库系统只能处理一对多的实体联系,不能直接表达多对多联系的复杂结构。支撑知识点网状模型

网状模型用网状结构来表示实体及实体之间的联系,网中的每一个结点代表一个记录类型,联系用链接指针来实现,可以克服层次模型不能直接表示非树型结构的弊端,如左图所示。

网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩展。支撑知识点关系模型

关系模型是目前最常用、最重要的一种数据模型,它用二维表来表示实体及实体之间的联系。关系模型建立在严格的数学基础之上,一个二维表就是一个关系,它不仅可以反映实体本身,也可以反映实体之间的联系。

本书介绍的VisualFoxPro就是一种基于关系模型的数据库管理系统。例如右图。支撑知识点关系模式两个关系模型的关系例如,要查找“张涛”老师所上的课程,可以先在教师关系中根据姓名找到其教师编号“1101001”,然后在课程关系中找到任课教师编号“1101001”对应的课程名即可。支撑知识点面向对象模型

数据模型决定了数据库系统的结构、数据定义语言、操纵语言、数据库设计方法及数据库管理系统软件的设计与实现。面向对象模型的基本概念是对象和类。通过对象和类的定义,可以完整地描述现实世界的数据结构,它比层次型、网状型和关系型更直接、更具体。但由于面向对象模型比较复杂,因此还没有达到关系模型的普及程度。0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业wenjingketang课后作业请同学们扫一扫进入班级做作业引用配套微课,学生线上看,系统自动记成绩;大作业一键收发,在线判分扫码申请免费开通→线上建课wenjingketang扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦

任务一表达式求值与BMI指数判断任务二用函数完成数学计算和信息提取0102目录CONTENTS任务一表达式求值与BMI指数判断一、表达式求值小李想通过VisualFoxPro计算数学表达式

的值。现已知x=2,y=36,写出符合VisualFoxPro要求的表达式并求出表达式的最终结果。二、BMI指数判断BMI指数是用体重(单位:kg)除以身高(单位:m)的平方得出的数字,其值处于18~24范围可视为身高体重指数正常。已知小李身高1.78m,体重70kg,判断小李的身高体重指数是否正常。任务说明任务实施一表达式求值步骤1将数学表达式转换为VFP表达式:(6+y/x)/(13-y/(x^2))。步骤2在命令窗口执行以下命令:x=2y=36?(6+y/x)/(13-y/(x^2))步骤3查看VisualFoxPro的工作区,可以看到表达式的结果为:6.0000。二BMI指数判断步骤1设身高为H(m),体重为W(kg),则BMI指数的计算公式为:BMI=W/H^2。步骤2在命令窗口执行以下命令:H=1.78W=70?W/H^2>=18ANDW/H^2<=24步骤3查看VisualFoxPro的工作区,可以看到表达式的结果为:.T.,说明小李的BMI指数正常。任务实施支撑知识点一常用的数据类型数据类型代码字段长度说

明字符型C<=254Byte用各种文字字符表示的数据,由字母、数字、汉字、符号和空格等组成数值型N8Byte表示数量并可进行算术运算的数据类型,由数字、小数点和正负号组成货币型Y8Byte为存储货币值而使用的一种数据类型逻辑型L1Byte描述客观事物真假的数据类型,表示逻辑判断的结果。一般用.T.表示真,.F.表示假日期型D8Byte表示日期的数据,默认格式为:月/日/年

日期时间型T8Byte表示日期和时间的数据,默认格式为:月/日/年

时/分/秒VisualFoxPro向用户提供了丰富的数据类型,各数据类型的代码、字段长度和说明如下表所示。数据类型代码字段长度说

明整型I4Byte不带小数点部分的数值,最大长度为10位(其中包括正负号所占位数)浮点型F8Byte同“数值型”,最大长度20位(包括正、负号和小数点)双精度型B8Byte精度更高的数值型数据备注型M4Byte用于存放较多字符的数据类型,数据范围仅限于存储空间通用型G4Byte用于存储OLE对象,可以是文档、图片、电子表格、声音等,实际数据存放在.fpt文件中,数据范围仅限于存储空间字符型(二进制)<=254Byte以二进制格式存储的数据类型,与前述“字符型”相同,但是当代码页更改时字符值不变,数据范围仅限于存储空间备注型(二进制)4Byte以二进制格式存储的数据类型,与前述“备注型”相同,但是当代码页更改时备注不变,数据范围仅限于存储空间支撑知识点二常量和变量常量货币型日期型日期时间型逻辑型字符型01数值型0204050603常量类型支撑知识点1字符型常量字符型常量字符型常量(简称字符串),由字符型数据组成。使用字符型常量时,必须用单引号、双引号或方括号等定界符括起来,并且定界符必须成对使用。例如,‘中国’,“VisualFoxPro”,[学生]都是字符型常量。当字符型常量本身就含有某种定界符时,应该选择所含定界符之外的另一种定界符作为该字符型常量的定界符。例如:[古人云:“少壮不努力,老大徒伤悲。”],其中的双引号是字符型常量的一部分,方括号才是该字符型常量的定界符。支撑知识点定界符必须成对出现,且两边相互对应,不能单引号和双引号混用。在实际显示字符型常量时,并不会显示定界符。不包含任何字符的字符串(“”)叫空串,它与包含空格的字符串(“”)不同。支撑知识点2数值型常量3逻辑型常量数值型常量由数值型数据组成,即数学中的十进制实数。例如,0.01,19.6,﹣25等都是合法的数值型常量。数值型常量数字0~9不仅可以组成数值型常量,为其加上定界符后还可以组成字符型常量。例如,123是数值型常量,为其加上双引号后的“123”则为字符型常量。逻辑型变量逻辑型常量由逻辑型数据组成,用下圆点作为定界符。逻辑型常量只有真和假两种值,一般用.T.(.t.)或.Y.(.y.)表示真值,用.F.(.f.)或.N.(.n.)表示假值。支撑知识点4日期型常量日期型常量LOREMLOREM日期型常量是指由花括号括起来的日期型数据,其一般格式为{^yyyy/mm/dd}。其中,yyyy是表示年的四位数字,mm是表示月的两位数字,dd是表示日的两位数字。日期型数据的默认显示格式为:mm/dd/yy。例如,若日期型常量为{^2015/08/27},执行显示数据命令后,则屏幕上显示的信息为:08/27/15。支撑知识点5日期时间型常量(1)日期时间型常量中,日期和时间之间必须有空格。(2)日期时间型常量中,若没有具体给出秒值,则系统默认为00秒;若没有具体指出是AM还是PM,则系统默认是AM。日期时间型常量

日期时间型常量是指由花括号括起来的日期时间型数据,包括日期和时间两部分。其一般格式为{^yyyy-mm-ddhh:mm:ssa|p},其中的yyyy,mm,dd同日期型常量中的含义相同,hh是表示小时的两位数字,mm是表示分钟的两位数字,ss是表示秒的两位数字,a|p则表示上午/下午。例如:{^2015-05-2608:30:52a}就是一个日期时间型常量,表示的时间是2015年5月26日的上午08时30分52秒。支撑知识点6货币型常量逻辑型变量货币型常量由货币型数据组成,默认以$符号开头,并四舍五入到4位小数。例如,$3.14159,系统默认为$3.1416。支撑知识点变量

变量是指在数据处理过程中其值可以发生改变的量,包括字段变量和内存变量两种。1变量的命名变量命名规则变量名由字母、汉字、数字和下划线组成,并且必须以字母或下划线开头。变量名的长度最多为128个字符。变量名不能与系统的保留字(保留字是指VisualFoxPro中使用的命令等,如if)相同。支撑知识点2字段变量

字段变量是指存储在数据表中的变量。在数据表中,字段变量必须先定义后赋值。字段变量的定义主要包括给定变量名、变量类型、变量长度和小数位数等操作,具体操作将在后面的章节中进行介绍。

字段变量是一种多值变量,随数据表中记录的不同而取值不同。字段变量支撑知识点3内存变量

内存变量是指存储在内存中的变量,通常用于保存中间结果或控制程序流程。根据是否有用户参与定义,可将内存变量分为系统内存变量和用户自定义内存变量两类。在程序的使用中,通过变量名引用内存变量。(1)内存变量的赋值①命令格式:<内存变量名>=<表达式>例如:a=1234②命令格式:STORE<表达式>TO<内存变量表>例如:STORE“VisualFoxPro”TOA,B,C(2)显示内存变量命令格式:DISPLAYMEMORY[LIKE变量通配名]命令语句中的“LIKE变量通配名”用于选择与“变量通配名”相匹配的内存变量,缺省该选项将显示所有内存变量。“变量通配名”中可以使用通配符“?”代替一个字符,使用“*”代替一个或多个字符。内存变量支撑知识点(3)输出内存变量的值①命令格式:?<表达式表>这种方式输出前先执行一次回车换行,再输出各表达式的值。②命令格式:??<表达式表>这种方式直接在当前光标所在位置输出各表达式的值。(4)删除内存变量当内存变量不用时,应及时删除以释放它们所占用的空间。删除所有用户自定义的内存变量,可以使用命令:CLEARMEMORY。如果想要删除某个指定的用户自定义内存变量,可以使用命令:RELEASE<内存变量表>,其中的“内存变量表”中每两个内存变量名之间用逗号分隔。内存变量支撑知识点4数组

数组是一种特殊的内存变量,它按照一定的排列顺序组织变量,其中各有序变量称为数组元素。数组名下标数组

数组名指定数组的名字,数组中的各数组元素拥有相同的变量名(即数组名)。数组名的命名规则与内存变量的命名规则相同。

数组的下标指定数组元素的个数。如果数组下标是一个数,则称这个数组为一维数组,如SR(5);如果数组下标为两个数,则称这个数组为二维数组,如ST(4,7)。支撑知识点(1)数组的定义不同于内存变量的赋值和定义可以同时进行,数组必须先定义才能赋值。定义数组的DECLARE命令的基本格式如下:DECLARE<数组名1>(行[,列])[,数组名2(行[,列])]例如:DECLARESR(5),ST(4,7),这句命令定义了一个有5个元素的一维数组SR和一个有4×7个元素的二维数组ST。(2)数组的赋值与显示为数组元素赋值可以使用内存变量的赋值命令。数组既可以作为一个整体进行操作,也可以对每个数组元素单独操作。因此,用户既可以给数组的所有元素赋同一个值,也可以给数组元素分别赋值。例如:SR="VisualFoxPro",命令的结果是为数组SR(5)中的5个元素赋予相同的值“VisualFoxPro”;ST(1,5)="100",命令的结果是为数组元素ST(1,5)赋值100。(3)数组的删除删除数组的命令与删除内存变量的命令相同。支撑知识点三运算符和表达式算术运算符字符运算符关系运算符逻辑运算符由运算符将常量、变量等按照不同的含义连接起来的式子称为表达式。表达式的类型由连接的运算符类型决定。运算符支撑知识点算术运算符和算术表达式运算符名称运算符名称+加法/除法-减法%求余*乘法^或**乘方

用算术运算符连接数值型数据可以组成算术表达式,也称数值表达式,其运算结果是一个数值型数据。算术运算符的意义与数学中对应的运算符的意义相同,如下表所示。

?3+2 &&屏幕显示:5?3-2 &&屏幕显示:1?3*2 &&屏幕显示:6?3/2 &&屏幕显示:1.50?3%2 &&屏幕显示:1?3**2 &&屏幕显示:9.00例题支撑知识点字符运算符和字符表达式-+字符运算符先将前一个字符串尾部的空格移到后一个字符串的尾部之后再连接两个字符串。原样连接两个字符串?"Istudy"+"hard" &&屏幕显示:Istudyhard?"Istudy"-"hard" &&屏幕显示:Istudyhard例题支撑知识点关系运算符和关系表达式运算符名称运算符名称>大于>=大于等于<小于<=小于等于=等于==精确等于<>或!=或#不等于$包含于(仅用于字符)

关系运算符用于对字符型数据、数值型数据和日期型数据进行比较运算。如果比较的关系成立,则运算结果为逻辑真值;如果比较的关系不成立,则运算结果为逻辑假值。VisualFoxPro中的关系运算符如下表所示。支撑知识点对于日期型数据,按日期的先后进行比较:越早的越小,反之越大。对于字符串,按从左到右的顺序依次比较每一个字符,直到得到比较结果为止。对于单个字符,按其ASCII码值大小进行比较。对于数值型数据,按数值大小进行比较。02010403关系运算符进行数据比较的规则如下:支撑知识点?3>2 &&屏幕显示:.T.?3=2 &&屏幕显示:.F.?3<>2 &&屏幕显示:.T.?"ABCD">"ABCC" &&屏幕显示:.T.?{^2015/08/27}>{^2015/08/28} &&屏幕显示:.F.例题支撑知识点逻辑运算符和逻辑表达式逻辑非(NOT或!)逻辑与(AND)逻辑或(OR)逻辑运算符逻辑非(NOT)的意义是对逻辑型数据取反逻辑与(AND)的意义是当连接的两个逻辑型数据都为真时,运算结果才为逻辑真逻辑或(OR)的意义是当连接的两个逻辑型数据,只要有一个为真,运算结果就为逻辑真NOT表达式值AND表达式值OR表达式值NOT.T..F..T.AND.T..T..T.OR.T..T.NOT.F..T..T.AND.F..F..T.OR.F..T..F.AND.T..F..F.OR.T..T..F.AND.F..F..F.OR.F..F.支撑知识点?NOT2>3 &&屏幕显示:.T.?NOT2<3 &&屏幕显示:.F.?3>2AND3>4 &&屏幕显示:.F.?3>2AND3<4 &&屏幕显示:.T.?3>2OR3>4 &&屏幕显示:.T.?3<2OR3>4 &&屏幕显示:.F.例题支撑知识点设计表达式1运算符的优先级运算符类型优先级运算符说

明算术运算符8()括号7^或**乘方6*乘/除%求余:取相除后的余数5+加-减关系运算符4<小于<=小于等于>大于>=大于等于支撑知识点运算符类型优先级运算符说

明关系运算符4=相等:等号右边的字符串包含于等号左边的字符串时结果为真==精确相等:左右两边的字符串完全相同时结果为真<>、#或!=不相等$包含于:左边字符串是右边字符串的子串时结果为真逻辑运算符3NOT或!非:结果为右边表达式逻辑值的反2AND与:运算符两边的值都为真时结果才为真1OR或:运算符两边的值有一个为真结果就为真续前表支撑知识点2数据类型匹配

在算术表达式、字符表达式和逻辑表达式中,若想得到正确的返回值,则要求运算符两边的数据类型必须一致。如果运算符两边的数据类型不一致,VisualFoxPro将显示出错信息,如下图所示。支撑知识点任务二用函数完成数学计算和信息提取一、用函数完成数学计算王伟想通过VisualFoxPro计算数学表达式

的值。现已知x=5,y=9,使用函数求出表达式的最终结果并保留1位小数。二、用函数完成信息提取发行部主管想要从公司的数据库中提取简要的出版社图书发行目录,包括图书的17位数字书号和出版社名称两部分,中间间隔4个空格,标准格式例如:978-7-04-034266-6高等教育已知一本书的书号为“ISBN978-7-11-515477-4”,出版社为“中国政法大学出版社”,现按上述格式提取该图书的简要信息。任务说明任务实施一用函数完成数学计算步骤1将数学表达式转换为VFP表达式:SQRT(ABS(5*x-(y+1)^2))。步骤2在命令窗口执行以下命令:x=5y=9z=SQRT(ABS(5*x-(y+1)^2))?ROUND(z,1)步骤3查看VisualFoxPro的工作区,可以看到表达式的结果为:8.7。二用函数完成信息提取任务实施LOREMLOREM1在命令窗口执行以下命令:SH="ISBN978-7-11-515477-4"CBS="中国政法大学出版社"?RIGHT(SH,17)+SPACE(4)+SUBSTR(CBS,1,LEN(CBS)-6)查看VisualFoxPro的工作区,可以看到图书信息如下:978-7-11-515477-4中国政法大学2支撑知识点

函数是一种能够完成某种特定操作或功能的数据形式,用户使用时只需将相应的参数代入到函数中,即可按照函数定义的规则进行计算并输出返回值。函数的基本格式如下:函数名([参数1][,参数2][,…])函数支撑知识点绝对值函数函数格式ABS(数值表达式)函数功能返回“数值表达式”值的绝对值,返回值类型为数值型。示例?ABS(1-2) &&屏幕显示:1?ABS(2-1) &&屏幕显示:1一数值函数支撑知识点函数格式INT(数值表达式)函数功能返回“数值表达式”值的整数部分,返回值类型为数值型。示例?INT(5/2) &&屏幕显示:2取整函数函数格式

MOD(数值表达式1,数值表达式2)函数功能求“数值表达式1”除以“数值表达式2”所得的余数,返回值类型为数值型。示例?MOD(10,3) &&屏幕显示:1支撑知识点求余函数支撑知识点函数格式ROUND(数值表达式,小数位数)函数功能返回“数值表达式”值按指定的“有效位数”进行四舍五入的结果,返回值类型为数值型。示例?ROUND(123.456,1) &&屏幕显示:123.5四舍五入函数函数格式SQRT(数值表达式)函数功能返回“数值表达式”值的算术平方根,返回值类型为数值型。示例?SQRT(9) &&屏幕显示:3.00平方根函数支撑知识点函数格式EXP(数值表达式)函数功能返回“数值表达式”值的自然指数,即:将“数值表达式”的值作为指数x,求ex的值),返回值类型为数值型。示例?EXP(3) &&屏幕显示:20.09指数函数支撑知识点函数格式LOG10(数值表达式)函数功能返回以10为底“数值表达式”值的对数,返回值类型为数值型。示例?LOG10(100) &&屏幕显示:2.00对数函数函数格式LOG(数值表达式)函数功能返回以e为底“数值表达式”值的对数,返回值类型为数值型。示例?LOG(15.34) &&屏幕显示:2.731常用对数函数2自然对数函数支撑知识点生成空格函数函数格式SPACE(空格个数)函数功能返回一个由空格组成的字符串,空格数目由“空格个数”指定,返回值类型为字符型。示例?"AB"+SPACE(4)+"CD" &&屏幕显示:ABCD二字符函数支撑知识点删除先导空格函数函数格式LTRIM(字符表达式)函数功能删除指定字符串左边的先导空格,返回值类型为字符型。示例?"A"+LTRIM("BC")+"D"&&屏幕显示:ABCD支撑知识点删除尾随空格函数函数格式RTRIM(字符表达式)函数功能删除指定字符串右边的尾随空格,返回值类型为字符型。示例?"A"+RTRIM("BC")+"D"&&屏幕显示:ABCD支撑知识点删除先导和尾随空格函数函数格式ALLTRIM(字符表达式)函数功能删除指定字符串的先导和尾随空格,返回值类型为字符型。示例?"A"+ALLTRIM("BC")+"D" &&屏幕显示:ABCD支撑知识点左子串函数函数格式LEFT(字符表达式,字符个数)函数功能返回从指定字符串左边第一个字符开始连续截取指定个数的字符所组成的新字符串,返回值类型为字符型。示例?LEFT("ABCD",2) &&屏幕显示:AB支撑知识点右子串函数函数格式RIGHT(字符表达式,字符个数)函数功能返回从指定字符串右边第一个字符开始连续截取指定个数的字符所组成的新字符串,返回值类型为字符型。示例?RIGHT("ABCD",2) &&屏幕显示:CD支撑知识点子字符串函数函数格式SUBSTR(字符表达式,起始位置[,字符个数])函数功能返回从字符串的指定位置开始连续截取指定个数的字符所组成的新字符串,返回值类型为字符型。示例?SUBSTR("ABCDEF",2,3) &&屏幕显示:BCD?SUBSTR("ABCDEF",2) &&屏幕显示:BCDEF支撑知识点日期函数三日期和时间函数函数格式DATE()函数功能返回当前系统日期,返回值类型为日期型。返回值的默认格式为mm/dd/yy,其中mm表示月,dd表示日,yy表示年。示例?DATE() &&屏幕显示:11/12/15支撑知识点年函数函数格式YEAR(日期表达式)函数功能返回“日期表达式”值的年份数值,返回值类型为数值型。示例?YEAR(DATE()) &&屏幕显示:2015支撑知识点月函数函数格式MONTH(日期表达式)函数功能返回“日期表达式”值的月份数值,返回值类型为数值型。示例?MONTH(DATE()) &&屏幕显示:11支撑知识点日函数函数格式DAY(日期表达式)函数功能返回“日期表达式”值的日期数值,返回值类型为数值型。示例?DAY(DATE()) &&屏幕显示:12支撑知识点时间函数函数格式TIME()函数功能返回当前系统时间,返回值类型为字符型。返回时间的默认格式为hh:mm:ss,其中hh表示小时,mm表示分钟,ss表示秒。示例?TIME() &&屏幕显示:16:37:09支撑知识点日期时间函数函数格式DATETIME()函数功能返回当前系统日期和时间,返回值类型为日期时间型。示例?DATETIME() &&屏幕显示:11/12/1504:35:08PM支撑知识点测试字符串长度函数四测试函数函数格式LEN(字符表达式)函数功能返回“字符表达式”中字符的个数,返回值类型为数值型。示例?LEN("VisualFoxPro") &&屏幕显示:13支撑知识点测试数据是否为空函数函数格式EMPTY(表达式)函数功能测试“表达式”是否为空,返回值类型为逻辑型。示例?EMPTY("VisualFoxPro") &&屏幕显示:.F.?EMPTY(SPACE(4)) &&屏幕显示:.T.支撑知识点测试数据类型函数函数格式TYPE("表达式")函数功能返回“表达式”的数据类型,返回值类型为字符型。示例?TYPE("VisualFoxPro") &&屏幕显示:U(未定义)?TYPE("3.14159") &&屏幕显示:N(数值型)支撑知识点测试数据范围函数函数格式BETWEEN(表达式1,表达式2,表达式3)函数功能测试“表达式1”是否在“表达式2”与“表达式3”之间,返回值类型为逻辑型。如果“表达式1”在“表达式2”与“表达式3”之间,即大于或等于“表达式2”的值并且小于或等于“表达式3”的值,则函数返回逻辑真值;否则返回逻辑假值。示例?BETWEEN(22,11,33) &&屏幕显示:.T.?BETWEEN(22,33,11) &&屏幕显示:.F.支撑知识点数值转换为字符函数五转换函数函数格式STR(数值表达式,长度[,小数位数])函数功能将“数值表达式”的值按照给定的长度和小数位数要求转换为字符串,返回值类型为字符型。示例?STR(12.3456,1,1)&&屏幕显示:*?STR(12.3456,4,1) &&屏幕显示:12.3?STR(12.3456,5,2)&&屏幕显示:12.35?STR(12.3456,6,2) &&屏幕显示:12.35支撑知识点字符转换成数值函数函数格式VAL(字符表达式)函数功能把“字符表达式”中的字符型数字转换为数值型数据,返回值为数值型。示例?VAL("20151112") &&屏幕显示:20151112.00?VAL("2015年11月12日")&&屏幕显示:2015.00支撑知识点字符转换成日期函数函数格式CTOD(字符表达式)函数功能把“字符表达式”中的字符型日期转换为日期型数据,返回值类型为日期型。示例a="05/01/14"?CTOD(a)+2 &&屏幕显示:05/03/14支撑知识点日期转换成字符函数函数格式DTOC(日期表达式[,1])函数功能把“日期表达式”转换为字符型数据,返回值类型为字符型。命令中的“1”表示返回结果按yyyymmdd的格式输出。如果缺省该选项,将按默认的mm/dd/yy的格式输出。示例?DTOC(DATE()) &&屏幕显示:11/12/15?DTOC(DATE(),1) &&屏幕显示:20151112支撑知识点小写字母转换为大写函数函数格式UPPER(字符表达式)函数功能把“字符表达式”中的小写字母转换为大写字母,返回值类型为字符型。示例?UPPER("aBcD") &&屏幕显示:ABCD支撑知识点大写字母转换为小写函数函数格式LOWER(字符表达式)函数功能把“字符表达式”中的大写字母转换为小写字母,返回值类型为字符型。示例?LOWER("aBcD") &&屏幕显示:abcd支撑知识点字符转换为ASCII码函数函数格式ASC(字符表达式)函数功能返回“字符表达式”值的第一个字符的ASCII码,返回值类型为数值型。示例?ASC("A") &&屏幕显示:65?ASC("BCD") &&屏幕显示:66支撑知识点ASCII码转换为字符函数函数格式CHR(数值表达式)函数功能返回“数值表达式”值表示的ASCII码对应的字符,返回值类型为字符型。示例?CHR(66) &&屏幕显示:B支撑知识点最大值函数六其他函数函数格式MAX(表达式1,表达式2,…)函数功能返回各“表达式”中的最大值,返回值类型由“表达式”确定。示例?MAX(6,40/7) &&屏幕显示:6?MAX("ABC","BCD","PQRST") &&屏幕显示:PQRST支撑知识点最小值函数函数格式MIN(表达式1,表达式2,…)函数功能返回各“表达式”中的最小值,返回值类型由“表达式”确定。示例?MIN(.F.,.T.) &&屏幕显示:.F.?MIN("ABC","BCD","PQRST") &&屏幕显示:ABC支撑知识点0102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业wenjingketang扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦0102目录CONTENTS030405任务一创建学生信息管理数据库和学生信息表任务二编辑学生信息管理数据库0102任务三编辑学生信息表和学生成绩表中的数据任务四有序显示学生成绩信息0304任务五通过索引使用多个表的数据05任务一创建学生信息管理数据

库和学生信息表

现有某学校的学生相关信息需要管理,经过分析,可以通过使用VisualFoxPro建立数据库来解决这一问题。VisualFoxPro使用表文件保存数据,因此可将学生相关信息进行整理并划分为不同的表,以便之后对数据进行操作。任务说明启动VisualFoxPro,根据前面介绍的方法创建项目文件,并以“学生信息管理系统”为名保存在“E:\学生”文件夹中。创建项目文件后,系统会自动打开相应的项目管理器。01STEP任务实施选择项目管理器的“数据”选项卡,单击选中“数据库”选项,然后单击“新建”按钮,打开右图所示的“新建数据库”对话框。02STEP

单击“新建数据库”选项,打开图所示的“创建”对话框。可在“保存在”下拉列表框中选择数据库的存储路径,在“数据库名”文本框中输入数据库的名称。本案例以“学生信息管理数据库”为名保存在“E:\学生”文件夹中。03STEP任务实施

数据库创建完成后,VisualFoxPro自动打开相应的数据库设计器,同时显示“数据库设计器”工具栏,如右图所示。04STEP任务实施

单击“数据库设计器”工具栏中的“新建表”按钮或选择“数据库”→“新建表”菜单命令,打开右图所示的“新建表”对话框。05STEP任务实施单击“表向导”选项,系统将启动表向导,并首先进入图“步骤1-字段选取”界面。在该界面中,单击按钮,可将“可用字段”列表框中选中的字段添加到“选定字段”列表框中。由右图可以看出学生信息表中共有8个字段,此处连续单击8次按钮即可。06STEP任务实施单击“下一步”按钮,进入“步骤1a-选择数据库”界面,如图所示。在该界面中,默认选择的是“创建独立的自由表”单选按钮。学生信息表属于学生信息管理数据库,因此选择“将表添加到下列数据库”单选按钮,并在其下方的下拉列表框中选择“学生信息管理数据库”,然后在“表名”文本框中输入“学生信息表”。07STEP任务实施单击“下一步”按钮,进入“步骤2-修改字段设置”界面,如右图所示。在“选定字段”列表框中选择第一个字段“AccountID”,然后在“字段名”文本框和“标题”文本框中输入“学号”,在“类型”下拉列表框中选择“字符型”,在“宽度”编辑框中设置数值为8。利用相同的方法,按照表3-1修改其他字段。08STEP任务实施单击“下一步”按钮,进入“步骤3-为表建索引”界面,如右图所示。本例暂不建立索引。09STEP任务实施单击“下一步”按钮,进入“步骤4-完成”界面,如右图所示。默认选择“保存表以备将来使用”单选按钮,直接单击“完成”按钮,弹出“另存为”对话框。将表以“学生信息表”为文件名保存在“E:\学生”文件夹中。10STEP任务实施可以看到,学生信息表已包含在项目管理器的学生信息管理数据库下,如右图所上示。另外,学生信息表以小窗口的形式显示在数据库设计器中,如右图下所示。11STEP任务实施单击项目管理器右上角的“关闭”,完成本案例的操作。实际上,学生信息管理数据库中还应包含学生成绩表和学生借书登记表,这两个表的创建和操作将在随后进行详细介绍。12STEP任务实施一数据库的创建支撑知识点数据库文件的默认扩展名是.dbc。使用项目管理器、菜单和命令三种方法都可以实现数据库的创建。在项目管理器中创建数据库具体方法可参照任务一中创建学生信息管理数据库的操作步骤。在项目管理器中创建数据库时,VisualFoxPro会自动打开对应的数据库设计器。支撑知识点使用菜单创建数据库的一般步骤如下:使用菜单创建数据库单击“常用”工具栏中的“新建”按钮或选择“文件”→“新建”菜单命令,打开“新建”对话框。选择“数据库”单选按钮,再单击“新建文件”选项,打开“创建”对话框,然后设置数据库的存储路径和名称(方法同在项目管理器中创建数据库一样)。单击“保存”按钮,即可创建数据库并自动打开相应的数据库设计器。123支撑知识点使用命令创建数据库利用CREATE命令也可创建数据库,其基本格式如下:CREATEDATABASE<数据库名>其中,“数据库名”指定要创建数据库的文件名称,其中可包含数据库的存储路径。例如,要创建一个名为“数据库1.dbc”的数据库,存储位置为“E:\学生”文件夹,可以使用如下命令:CREATEDATABASEE:\学生\数据库1使用命令创建新数据库时,VisualFoxPro并不打开相应的数据库设计器。支撑知识点二表的创建VisualFoxPro中的表有两种存在形态:一种是属于某个数据库的表,称为数据库表;另一种是独立的表,不属于任何数据库,称为自由表。这两种表可以相互转换。创建数据库表创建数据库表有多种方法,常用的方法有使用表向导和使用表设计器两种。支撑知识点1使用表向导创建数据库表VisualFoxPro提供了多种向导,如图列出了常用的向导。使用向导创建文件时,用户只需按照向导提示在界面中选择选项或输入数据,然后单击“下一步”按钮进入下一界面继续操作,直至单击“完成”按钮完成文件的创建。向导名称功能向导名称功能表向导创建表报表向导创建报表数据库向导创建数据库一对多报表向导创建一对多报表查询向导创建查询标签向导创建标签本地视图向导创建本地视图表单向导创建表单远程视图向导创建远程视图一对多表单向导创建一对多表单本任务中创建“学生信息表”时,采用的就是表向导方法。另外,选择“工具”→“向导”下的子菜单命令,也可以打开所需向导。支撑知识点2使用表设计器创建数据库表下面以创建学生信息管理数据库中的学生成绩表为例,介绍使用表设计器创建数据库表的一般步骤。学生成绩表的结构如表所示。字段名称字段类型字段宽度小数位数字段名称字段类型字段宽度小数位数学号字符型8

数据库数值型51语文数值型51办公软件数值型51数学数值型51平均分数值型51英语数值型51总分数值型51体育数值型51

打开任务一中创建的“学生信息管理系统”项目文件,在项目管理器中选择“数据”选项卡。单击“数据库”及其子级前面的加号,在逐级展开的列表中单击选中“表”,然后单击右侧的“新建”按钮,打开“新建表”对话框。01STEP支撑知识点单击“新建表”选项,打开“创建”对话框,将表以“学生成绩表”为名保存在“E:\学生”文件夹中。VisualFoxPro自动打开相应的表设计器,如友图所示。表设计器中包括“字段”、“索引”和“表”3个选项卡,默认打开的是“字段”选项卡。02STEP支撑知识点在“字段名”下方的文本框中输入“学号”,在“类型”下拉列表框中选择“字符型”,在“宽度”编辑框中设置数值为8。利用相同的方法,设计器中添加剩余字段,输入完效果如右图所示。03STEP支撑知识点字段输入完成后,单击“确定”按钮,弹出对话框询问“现在输入数据记录吗?”,若选择“是”,表示立即输入数据;选择“否”,表示暂不输入数据。本案例选择“否”。04STEP支撑知识点3使用命令创建数据库表使用CREATE命令可以快速打开表设计器以创建表,其基本格式如下:CREATE<表文件名>其中,表文件名中可以包含存储路径。支撑知识点创建自由表创建自由表的方法也有很多种,常用的方法有使用表向导、使用表设计器和使用命令创建自由表。支撑知识点1使用表向导创建自由表使用表向导创建自由表的步骤与创建数据库表的步骤类似,用户可参照任务一中相应的操作步骤。不同的地方是,在“步骤1a-选择数据库”界面中,应选择“创建独立的自由表”单选按钮。支撑知识点2使用表设计器创建自由表使用表设计器创建自由表的一般步骤如下:在项目管理器中选择“数据”选项卡,单击选择“自由表”,然后单击右侧的“新建”按钮,打开“新建表”对话框。01STEP接下来的步骤与使用表设计器创建数据库表相同,可参考上一节相关内容。02STEP支撑知识点3使用命令创建自由表创建自由表的命令与创建数据库表的命令相同。如前所述,二者的区别只在于执行命令前是否打开了所属数据库。例如,使用命令在“E:\学生”文件夹下创建学生借书登记表(自由表),可以在命令窗口输入以下命令并回车:CREATEE:\学生\学生借书登记表执行创建自由表命令后,VisualFoxPro会自动打开表设计器,参照使用表设计器创建数据库表的操作步骤,按照表3-4所示完成学生借书登记表的结构设计。字段名称字段类型字段宽度小数位数字段名称字段类型字段宽度小数位数学号字符型8

借书日期日期型8

书号字符型6

还书日期日期型8

书名字符型30

支撑知识点表的设计表的设计分为组织数据和设计表结构两部分,表结构设计完成后将组织好的数据输入表中即可完成表的设计。1组织数据在实际生活中要,管理的数据往往是杂乱无序且数据量庞大的。为了实现数据的有效管理,常常需要将数据进行整理,按照一定的分类和次序组织数据。例如,在任务一中创建的学生信息管理系统中,数据被分为三个表进行存储,即学生信息表、学生成绩表和学生借书登记表。学生信息一般包含学生的基本信息,例如姓名、性别、出生日期等,用右图所示的学生信息表来保存学生的基本信息。支撑知识点学生信息表中“备注”字段的数据如图所示。姓名备注李丽娟计算机01班班长,计算机学院学生会会长李文静获得国家奖学金,助学金吴秀英获得校内奖学金张伟计算机02班班长,计算机学院学生会副会长秦丽娜信息工程01班班长支撑知识点学生成绩一般包含学生的各科成绩信息,例如语文、数学、英语、数据库、体育、办公软件等,如图所示的学生成绩表来保存学生的各科成绩。支撑知识点学生借书登记一般包含学生借书的相关信息,例如书名、借书日期、还书日期等,如图所示的学生借书登记表来保存学生的借书信息。支撑知识点2字段和记录如前所述,表是组织数据的重要方式。一般情况下,使用表组织数据时,表的列称为字段,表的行称为记录,行列交叉部分的数据称为值。字段和记录是VisualFoxPro的重要概念。一个表最多可以有255列,也就是说最多有255个字段。例如,在任务一创建的学生信息表中共有8个字段,字段名分别是学号、姓名、性别、出生日期、班级、是否住校、照片和备注。表中字段可根据其中数据的特点选择合适的字段类型,常用的字段类型可参考表2-1。一个表可以包含记录的最大数目是10亿,表中除第一行以外的每一行都称为一条记录。例如,任务一中创建的学生信息表除第一行外共有10行,也就是包含10条记录。支撑知识点3设计表结构将需要管理的数据组织整理好后,接下来就是解决如何将数据存放到表中的问题。字段决定了数据存放的形式,因此设计字段是设计表结构的重点。设计字段主要包括给定字段名称、字段类型、字段宽度和小数位数4个方面。1字段名称每个字段都有一个唯一的字段名,一般以字段的实际含义作为字段名,这样便于用户区分和记忆。字段名可以由英文字母、数字、汉字和下划线组成,但必须由英文字母或汉字开头,并且长度不得超过10个英文字母。例如,学生信息表中并不是每个学生都有助学金、奖学金和任职信息,为其设置三个字段会浪费一定的资源。因此可以将其整合为一个字段,用“备注”作为其字段名称,既可以覆盖数据内容又符合字段的命名规则。支撑知识点2字段类型字段类型决定了数据的存储方式和运算方式。为字段选择合适的字段类型,主要依据字段中数据的实际含义确定。一般情况下,用户可根据表2-1所示各数据类型的特点进行选择。3字段宽度在常用字段中,日期型、逻辑型、通用型和备注型字段的宽度由系统给定,无法修改。其他字段类型的宽度都可以由用户自定义。字段宽度主要考虑数据的最大长度,且不大于字段的最大宽度(255)。例如,中国人的姓名一般不超过4个汉字,所以“姓名”字段的字段宽度通常定义为8。支撑知识点4小数位数数值型字段需设置小数位数以指定小数部分的长度。由于小数点也占一位,因此字段宽度应等于整数部分宽度、小数位数和小数点占位(1)的总和。例如,学生成绩一般在0.0~100.0,所以其小数位数通常定义为1,字段宽度定义为5。另外,在设计字段时,应该注意减少各个表中数据的重复,即减少数据的冗余,但是要注意保留各个表中相互联系的公共字段。例如,学生信息表和学生成绩表中的公共字段为“学号”,通过“学号”字段可以将两个表联系起来。这样既有利于减少数据的冗余,又有利于保持数据的一致性。任务二编辑学生信息管理数据库

现需要打开学生信息管理数据库,将以自由表形式创建的学生借书登记表添加到数据库中,并设置学生借书登记表的字段属性和记录有效性。任务说明启动VisualFoxPro,单击“常用”工具栏中的“打开”按钮或选择“文件”→“打开”菜单命令,打开s上图所示的“打开”对话框,找到并选中“E:\学生”文件夹下的学生信息管理系统.pjx,单击“确定”按钮,打开学生信息管理系统的项目管理器,下图所示。01STEP任务实施在“数据”选项卡下,单击“数据库”前面的加号,并选中其子级选择列表中的“学生信息管理数据库”,然后单击右侧的“打开”按钮,打开该数据库(此时“常用”工具栏中的“数据库”下拉列表框中会显示器名称)。02STEP任务实施任务实施单击“学生信息管理数据库”前的加号,选中其子级列表中的“表”选项,然后单击右侧的“添加”按钮,打开“打开”对话框,找到并选中“E:\学生”文件夹下的学生借书登记表.dbf,单击“确定”按钮。单击“表”前的加号,即可看到学生借书登记表已经添加到学生信息管理数据库中,如右图所示。03STEP单击“学生借书登记表”,然后单击右侧的“修改”按钮,打开“表设计器-学生借书登记表.dbf”对话框,在“字段”选项卡下,先选择“学号”字段,然后在下方“显示”设置区的“输入掩码”文本框中输入“99999999”,即可设置“学号”字段只能输入8位数字,如右图所示。04STEP任务实施任务实施在“字段”选项卡下,选择“借书日期”字段,然后单击下方“字段有效性”设置区中“规则”文本框右侧的按钮,打开“表达式生成器”对话框。05STEP先在“字段”列表框中双击“借书日期”,然后从“逻辑”下拉列表框中选择“<=”,再从“日期”下拉列表框选择的“DATE()”,此时在“有效性规则”编辑框中显示有效性规则的表达式,右图所示。单击“确定”按钮,即可设置借书日期值不晚于系统当前时间,从而避免记录插入时的误操作。06STEP任务实施将表设计器切换至“表”选项卡下,单击“记录有效性”设置区中“规则”文本框右侧的按钮,打开“表达式生成器”对话框。参照步骤6介绍的方法设计表达式:借书日期<=还书日期OR还书日期={//}。然后在“信息”文本框中输入:“借书日期应小于等于还书日期或还书日期为空”,右图所示。07STEP任务实施单击“确定”按钮,弹出图所示的提示框,询问是否永久性地更改表结构,单击“是”按钮,保存字段属性和记录有效性的设置。08STEP任务实施支撑知识点一数据库的打开和关闭数据库的打开使用数据库之前,首先要打开数据库。VisualFoxPro中打开数据库的方法有多种,常用的方法有使用项目管理器、使用菜单和使用命令打开数据库。1使用项目管理器打开数据库任务二就是使用项目管理器打开的学生信息管理数据库。打开数据库后,“常用”工具栏中的“数据库”下拉列表框中会显示当前数据库的名称。例如,打开学生信息管理数据库后,“常用”工具栏中的“数据库”下拉列表框中会显示数据库的名称。支撑知识点2使用菜单打开数据库使用菜单打开数据库的一般步骤如下:选择“文件”→“打开”菜单命令或者直接单击“常用”工具栏中的“打开”按钮,打开“打开”对话框。01STEP在“打开”对话框中找到并选中需打开的数据库,然后单击“确定”按钮,即可打开数据库,同时数据库设计器也会自动打开。02STEP支撑知识点3使用命令打开数据库打开数据库的命令的基本格式为:OPENDATABASE<数据库名>其中,“数据库名”指定要打开的数据库的名称,其中可以包括存储路径。例如,要打开“E:\学生”文件夹下的学生信息管理数据库,可以在命令窗口键入如下命令,然后按回车键。OPENDATABASEE:\学生\学生信息管理数据库使用命令打开数据库时,VisualFoxPro不会同时打开数据库设计器。数据库的关闭数据库使用结束后,应及时将其关闭。关闭数据库可以使用以下两种方法。支撑知识点与使用项目管理器打开数据库类似,选中数据库后,单击右侧的“关闭”按钮,即可关闭数据库。关闭数据库后,“常用”工具栏中的“数据库”下拉列表框中原来显示的数据库名称会消失。利用CLOSE命令也可以关闭数据库,其基本格式如下:CLOSEDATABASE在命令窗口输入上述命令,则可以关闭当前数据库。使用项目管理器关闭数据

温馨提示

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

评论

0/150

提交评论