第4章数据库的建立与维护.doc

上传人:飞****2 文档编号:60200852 上传时间:2022-11-15 格式:DOC 页数:46 大小:359.50KB
返回 下载 相关 举报
第4章数据库的建立与维护.doc_第1页
第1页 / 共46页
第4章数据库的建立与维护.doc_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《第4章数据库的建立与维护.doc》由会员分享,可在线阅读,更多相关《第4章数据库的建立与维护.doc(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第4章 数据库的建立与维护以数据库为核心的程序系统与其他程序系统相比,有其独特之处,它具有数据量大、数据保存周期长和数据关联性复杂等特点。因此,在开发数据库应用程序系统时,要对数据库进行设计,数据库设计的优劣将直接影响应用程序系统的运行性能。4.1 数据库的作用及数据库分析在VFP中,数据库用于存储数据库表的属性、有效性规则、说明、默认值、视图、远程数据库的连接和存储过程等。数据库文件扩展名是DBC,通常通过数据库设计器创建和修改数据库。4.1.1 建立一个简单数据库在VFP中可以使用多种方法建立数据库,下面使用系统提供的数据库向导来建立一个用于图书管理目的数据库。使用数据库向导建立数据库的步

2、骤如下:(1)“文件”菜单“新建”选择“文件类型”为“数据库”“向导”按钮。(2)在“数据库向导”窗口的“选择数据库”列表框中选择一个已有的数据库原型,这里选择“BOOKS”后,单击“下一步”按钮。(3)在“选择数据源”列表框中选择数据库中要包含的表和视图,系统默认为全部内容,选择完毕后,单击“下一步”按钮。(4)为数据库中的表建立索引。所谓索引就是表的一种排序方法,系统已经给定了表中合理的排序方法,如图书表(books)中可以按图书编号(books_id)和主题编号(topic_id)建立索引,如果不变动已有的索引,则直接单击“下一步”按钮。(5)为数据库中表建立关系。所谓关系就是数据库中不

3、同表之间的联系,例如图书和作者表之间存在着联系,对图书表中任意一本图书,在图书作者表中都能够找到其中一位或多位作者的详细资料。在向导中已经建立了合理的关系,保留这种关系,单击“下一步”按钮。(6)在数据库向导的最后一步中,选择“保存数据库以备将来使用”和“用示例数据填入表”,并单击“完成”按钮。(7)在“另存为”对话框中选定文件夹名(如D:XSXXGL),为数据库命名(如BOOKS),单击“保存”按钮,则系统建立了图书管理数据库(Books.dbc)。(8)打开数据库:“文件”菜单“打开”选择文件类型为“数据库”选择文件夹(如D:XSXXGL),双击要打开的数据库文件(如Books.dbc),

4、则系统进入数据库设计器(如图4.1)。图4.1 Books数据库窗口可以随时打开数据库,以便建立、添加、浏览、修改或删除其中的各类对象。4.1.2 数据库的作用数据库是一种容器,用于组织和管理数据库表(Table)、视图(View)、关系(Relation)、存储过程(Stored Procedure)和连接(Connection)等。从图4.1中可以看到6个小窗口,每个小窗口代表着数据库表或视图, 两个数据库表之间的连线表示表之间的关系。在关系数据库中,所谓表是指规范的二维表,用于保存应用程序中要处理的数据以及数据结构。在数据库设计器中,选中表文件后,在“数据库”菜单中选择“浏览”,可以查看

5、表中的数据记录。通常将表中的列称为字段,如图书表中的Books_id和Title都是字段,字段有名称、类型和宽度等基本信息,如Title字段在表中用来保存一本书的书名,在该列中可以输入汉字、英文等信息,其类型为字符型,也就是说这一列用于存放文字,对书名可以最多输入50个字符(即25个汉字),这就是字段的宽度。表中除表头外的其他各行称为记录,在图书表中一条记录用于描述一本书。视图是数据库中的一种数据格式,可以将分散到多个表中的数据通过联接条件收集到一起,形成一个新的数据格式。视图中并不保存数据,而是从其规定的数据源中提取数据。关系是两个表之间通过对应字段建立的联系,通过关系可以将数据库中的多个表

6、联系起来。例如,在Books表中的每一本书,通过图书的编号可以在Bookauth表中查找到其对应图书的作者编号,再通过作者编号在表Authors中就可以查找到该书作者的详细资料。一般来说,存储于一个数据库中的表都具有一定的联系。数据库与其中对象之间的关系类似于Windows系统下的文件夹与文件之间的关系,将具有一定联系的若干张表及视图保存到数据库中,便于数据维护和使用。当然数据库与其中对象之间的关系要远比文件夹与文件之间的关系复杂。4.2 数据库的建立与维护通过向导建立Books数据库后,查看D:XSXXGL文件夹,可以看到Books.DBC、Books.DCT和Books.DCX三个文件。一

7、个完整数据库文件包括基本文件(DBC)、相关数据库备份文件(DCT)和相关索引文件(DCX)。通过数据库设计器或命令可以增加、修改和删除数据库中的对象,3个文件共同构成一个完整的数据库。4.2.1 建立数据库通常使用如下方法建立数据库:方法一:“文件”菜单“新建”选择“文件类型”为“数据库”“新建文件”按钮,在“新建”对话框中选择数据库所要存放的文件夹、输入数据库名(如:Xsxx),单击“保存”按钮后,系统自动建立一个空数据库并进入数据库设计器。方法二:在命令窗口或程序中用Create Database命令建立数据库。命令格式:Create Database 命令说明:在给定磁盘和路径下直接建

8、立一个数据库文件,建立数据库后,系统并不直接进入数据库设计器,仅建立一个空数据库。【 例4.1 】使用命令建立数据库Create Database D:XSXXGLSJGL在D:XSXXGL文件夹下建立数据库SJGL,系统同时产生SJGL.DBC、SJGL.DCT和SJGL.DCX三个文件。4.2.2 打开数据库在使用数据库之前必须打开数据库。在建立数据库时,系统自动打开数据库,对于已存在的数据库,应该使用相关的的命令将其打开。1. 打开数据库的方法方法一:“文件”菜单“打开”选择“文件类型”为“数据库”鼠标双击数据库文件名。方法二:在命令窗口或程序中用Open Database命令打开数据库

9、。命令格式:Open Database 命令说明:以命令方式打开一个数据库,但系统并不进入数据库设计器,也就是说不能直接通过系统界面看到所打开的数据库。【 例4.2 】用命令打开数据库D:XSXXGLXSXX。Open Database D:XSXXGLXSXX2. 设置当前数据库在VFP系统中,可以使用Open Database命令打开多个数据库,但在某一时刻只有一个当前数据库,通常最后打开的数据库为当前数据库,也可以使用命令重新设置当前数据库。命令格式:Set Database To 命令说明:将数据库名所指定的数据库设为当前数据库。当命令中省略数据库名时,将取消当前数据库,即打开的所有数

10、据库都不是当前数据库。【 例4.3 】设置当前数据库。Open Database XSXXOpen Database SJGLModify Database & 查看当前数据库(SJGL)Set Database To XSXX & 将XSXX设置为当前数据库Modify Database & 查看当前数据库(XSXX)3. 测试数据库状态可以用函数DBUsed( )检测一个数据库是否处于打开状态。函数格式:DBUsed()函数说明:函数返回逻辑值,如果字符表达式的值是一个目前打开的数据库名,则函数返回值为真(.T.),否则,函数返回值为假(.F.)。【 例4.4 】检测打开的数据库。Open

11、 Database XSXX ? DBUsed(”XSXX”) & 显示.T.,即XSXX处于打开状态? DBUsed(”SJGL”) & 检测一个名为“XSGL”的数据库是否处于打开状态,结果.F.4.2.3 修改数据库修改数据库是对数据库中内容进行调整,如将表文件或视图加入到数据库中,调整表之间的关系等。1. 进入数据库设计器命令格式:Modify Database 命令说明:省略数据库名时,对当前数据库进行修改;使用数据库名参数时,对没打开的数据库,将其自动打开,对已经打开的数据库,将其置成当前数据库。无论使用该命令的哪种格式,都进入数据库设计器,允许用户对数据库进行修改。【 例4.5

12、】利用命令方式修改数据库。Open Database XSXX Modify Database 2. 使用数据库设计器在数据库设计器中,可以调整数据库中各种对象,如添加表、建立表或删除表等。(1)添加表:在VFP中,将不属于任何数据库的表文件(DBF)称为自由表,添加表就是将自由表加到数据库中,一个表只能隶属于一个数据库。方法一:右击数据库设计器中空白区域“添加表”在“打开”对话框中选择表文件名“确定”按钮。方法二:“数据库”菜单“添加表”在“打开”对话框中选择表文件名“确定”按钮。(2)新建表:进入表设计器,新建一个表并将该表添加到数据库中。方法一:右击数据库设计器空白区域“新建表”。方法二

13、:“数据库”菜单“新建表”。(3)删除对象:从数据库中删除表时,可以选择“移去”或“删除”表,“移去”是将表从数据库中移出去,使其变为自由表;“删除”是将表从数据库中移出去且同时删除表文件。方法一:右击数据库中要删除对象“删除”。方法二:选定要删除的对象,“数据库”菜单“移去”,系统会给出一个确认对话框,从中选择“删除”。4.2.4 删除数据库要将系统中不再使用的数据库文件从磁盘中删除,可以在操作系统下删除数据库对应的三个文件,也可以在VFP中使用Delete Database命令删除数据库。命令格式: Delete Database Recycle命令说明:使用Recycle时,系统将删除的

14、数据库文件放入Windows系统的回收站中;不使用Recycle参数时,系统将彻底删除数据库文件。【 例4.6 】删除SJGL数据库。Delete Database D:XSXXGLSJGL Recycle将D:XSXXGL目录下的SJGL.DBC、SJGL.DCT和SJGL.DCX三个文件放入Windows回收站中。删除数据库文件后,数据库中的表会自动变成自由表。4.2.5 关闭数据库对数据库操作完毕后,应该及时将其关闭。关闭数据库时,系统也将关闭相关的数据库表。关闭数据库的方法有:方法一:关闭当前数据库命令:Close Databases。方法二:关闭系统中所有打开的数据库命令:Close

15、 Databases All。方法三:关闭系统中所有文件命令:Close All。【 例4.7 】关闭所有数据库。Close Databases All4.3 数据库表的建立与维护数据库只是一种容器,其中可以包含多种对象,最常见的对象是数据库表。打开数据库后,可以建立和修改数据库表。4.3.1 建立数据库表表设计器是建立表的主要工具,建立数据库表的方法有:方法一:“文件”菜单“新建”选“文件类型”为“表”“新建文件”按钮。方法二:使用“常用”工具栏上的“新建”按钮,其余操作同上。方法三:在“项目管理器”中的“数据”选项卡上展开一个数据库(如XSXX)选择“表”“新建”按钮。方法四:在数据库设计

16、器中,“数据库”菜单“新建表”。方法五:打开一个数据库后,在命令窗口中使用Create命令。命令格式:Create 。【 例4.8 】利用Create命令建立数据表BJB。Open Database D:XSXXGLXSXXCreate D:XSXXGLBJB上述方法都将进入表设计器(如图4.2)。在表设计器中依次输入表中字段名、数据类型、字段宽度和小数位数等内容。(1)字段名:是二维表中列的名称,同一个表中不允许出现同名字段。表中应该具有能够惟一标识表中记录的字段或字段组合,通常称之为关键字。例如,学生信息表(XSB)中,每名学生的学号是不同的,学号字段就是表中关键字,而对于性别码字段就不能

17、作为关键字段。字段的命名规则如下: 用字母、汉字、数字或下划线(_)命名字段,但不能用数字或下划线开头。如:学号、F_XH、NUMBER和外语_11等都可以作为字段名,而32_X或#B不能作为字段名。 数据库表中字段名最多可含128个字符。图4.2 表设计器窗口(2)字段类型和宽度:字段类型用于确定字段中存储数据的性质,字段宽度用于说明存储数据的最大位数。在VFP系统中可以使用的字段类型及最大宽度限制见表4.1。表4.1 VFP中字段类型及宽度数据类型宽 度符号表示类型说明字符型1-254个字符C字符、数值型文本,如姓名、编号、家庭地址等数值型最大宽度为20位(含小数点)N整数或实数,如成绩、

18、工资浮动型最大宽度为20位(含小数点)F同数值型双精度型固定为8位B实验所要求的高精度数据整型固定4位I存放整数,如年龄货币型固定为8位Y存放货币数据,如商品单价日期型固定为8位D存放日期数据,如生日逻辑型固定为1位L存放逻辑数据(.T.,.F.)备注型固定为4位M以FPT形式的文件存储数据,长度任意,如个人简历通用型固定为4位G(OLE数据对象),如照片二进制字符型1-254个字符C当代码页更改时字符值不变,保存在表中的用户密码,用于不同国家/地区可以根据具体字段来选择字段“类型”,“宽度”要尽可能短,以便节省磁盘空间。例如,学生信息表(XSXX)中的学号字段设为“字符型”,“宽度”为8;性

19、别码字段设定为“字符型”,“宽度”为1位,用“1”表示“男”,“2”表示“女”;对于数值型字段,还需要规定“小数位数”。对于某些类型(如日期型和逻辑型等)系统自动给出“宽度”,不允许用户调整。输入完表中字段信息后,单击“确定”按钮,系统会给出输入数据的提示窗口,选择“是”可以立刻输入表中记录;选择“否”,仅建立一个空表文件(DBF),以后可以通过其他途径向表中输入记录。建立表文件时,如果含有备注型(如简历)或通用型(如照片)字段,系统还自动建立与表同主名的FPT文件,用于保存备注型和通用型数据。4.3.2 数据库表的常用属性调整数据库表中字段属性可以控制数据的输入输出格式。1. 字段输入/输出

20、属性(1)输出格式:在“显示”框的“格式”中,可以输入显示对应字段值时的格式字符,各种格式字符及其功能见表4.2。表4.2 字段的显示属性格式字符格式符显示功能格式符显示功能A仅允许字母D使用当前的日期格式E英国日期格式K光标移动到该字段时选中该字段的全部内容L数值字段显示前导0M允许多个预设置选择项R显示文本框的格式掩码T删除前导空格和结尾空格!字母转换为大写用科学计数法表示数值数据$显示货币符号(2)输入掩码:用于控制输入字段值对应位的数据格式。掩码字符及功能见表4.3。表4.3 字段显示属性掩码字符字 符功 能字 符功能X任意字符*左侧显示9数字字符.指定小数点位置#数字字符、号和空格,

21、用逗号分隔整数部分$指定位置显示货币符号$货币符号与数字不分开显示在学生表(XSB)的学号字段中,如果设定掩码为“”,则只允许输入12位数字符号。(3)标题:如果不设置字段标题,则显示表中数据时系统将字段名称作为列标题,可以在此重新定义列标题。例如,将姓名字段的标题设为:学生姓名。2. 字段有效性通过设置“字段有效性”,可以控制对应字段值的有效范围。其内容有:(1)规则:是逻辑表达式,当输入或修改对应字段值后,如逻辑表达式的值为.T.,则通过有效性规则检验;如果逻辑表达式的值为.F.,则系统要求重新输入数据。例如,对性别字段设置规则为:性别=”1”.OR. 性别=”2”。(2)信息:为字符表达

22、式,当输入或修改对应字段值时,如果违背了有效性规则,则系统显示该表达式的值。例如,对性别字段设置:”性别值应该为1或2”。(3)默认值:向表中添加新记录时,系统自动将默认值填到对应字段中。例如,对性别字段设置默认值为:”1”。对定义了有效性规则的字段,应该设置其默认值,并且默认值要遵守有效性规则。4.3.3 修改表结构1. 打开表在对表进行操作之前,需要打开表文件。打开表的方法有:方法一:“文件”菜单“打开”选择“文件类型”为“表”双击表文件名。方法二:在命令窗口或程序中用Use命令打开表。命令格式:Use !命令说明:关闭当前表文件,同时打开指定的表文件。2. 修改表结构在表设计器中可以随时

23、对表结构进行修改,进入表设计器的有:方法一:在“数据库设计器”中选择表名“数据库”菜单“修改”方法二:在“数据库设计器”中右击表名“修改”。方法三:在程序或命令窗口中使用Modify Structure命令。【 例4.9 】用命令方式修改学生表(XSB)的结构。Use XSB & 打开XSBModify Structure & 进入表设计器,在表设计器中修改表的结构。Use & 关闭当前表。进入表设计器后对表中信息的操作方法与建立表时的操作方法基本相同。常用的修改操作有:(1)在已有的字段上直接修改字段名、类型和宽度等信息。(2)用“删除”按钮,可以删除当前字段。(3)用“插入”按钮,将在当前

24、字段之前插入一个新字段。4.4 自由表与数据库表的异同及转换在VFP中,将不属于任何数据库的表称为自由表;将属于某个数据库的表称为数据库表。一个自由表可以添加到一个数据库中变成数据库表,一个数据库表也可以移出数据库变成自由表。大部分数据库表的操作命令都可以用于操作自由表,建立自由表的方法与建立数据库表的方法也基本相同,在没有当前数据库的情况下建立的表都是自由表。【 例4.10 】在D:XSXXGL文件夹下建立自由表XSLYTJB。Close Databases All & 关闭打开的全部数据库Create D:XSXXGLXSLYTJB & 在表设计器中建立表文件XSLYTJB的结构4.4.1

25、 自由表与数据库表的差异自由表中对字段的描述信息比较少,因此,设计自由表要比设计数据库表简单,具体差异如下:(1)自由表中字段名的最大长度为10个字符,而数据库表中字段名的最大长度为128个字符。(2)不能为自由表设置字段输入/输出属性,如标题、默认值和输入掩码等。(3)不能为自由表设置某些规则,如字段有效性等。4.4.2 数据库表转成自由表一个数据库表移出数据库变成自由表后,其字段输入/输出属性和字段有效性等信息也会自动丢失。数据库表转换成自由表的方法有:方法一:进入数据库设计器选择表名“数据库”菜单“移去”“移去”按钮。方法二:进入项目管理器“数据”选项卡展开数据库(如XSXX)选择表(如

26、XSB)“移去”“移去”按钮。方法三:在程序或命令窗口中使用Remove Table命令。命令格式:Remove Table |? Delete Recycle命令说明:将当前数据库中的表移出数据库。参数含义如下:(1)Delete:将给定的表移出数据库,并将其文件从磁盘中直接删除。(2)Recycle:将给定的表移出数据库,并将其文件放入Windows回收站。当不使用Delete和Recycle参数时,将表直接转换为自由表。【 例4.11 】利用命令方式将民族表(MZB)变为自由表。Open Database XSXXRemove Table MZB4.4.3 自由表添加到数据库在VFP系统

27、中,一个自由表只能添加到一个数据库中,要将一个数据库表由一个数据库移到另一个数据库中,要先将其变成自由表,然后再将它添加到另一个数据库中。常用方法有:方法一:进入数据库设计器“数据库”菜单“添加表”选择自由表文件名“确定”按钮。方法二:进入项目管理器“数据”选项卡展开数据库(如XSXX)选择“表”“添加”按钮选择自由表文件名“确定”按钮。方法三:在程序或命令窗口中使用Add Table命令。命令格式:Add Table |? Name 命令说明:将一个自由表添加到当前数据库文件中。其中参数“?”可以利用一个“打开”文件对话框从中选择自由表文件,参数NAME 用来为表文件指定长表名。【 例4.1

28、2 】将自由表XSLYTJB添加到数据库XSXX中。Open Database XSXXAdd Table XSLYTJB Name 学生来源统计表在打开数据库的情况下,使用:Use XSLYTJB或Use 学生来源统计表具有相同的效果。在没有打开数据库的情况下,使用长表名需要说明所在的数据库。【 例4.13 】在没有打开数据库的情况下,使用长表名打开表。Close Databases AllUse XSXX!学生来源统计表4.5 同时操作多个表数据库中各个表之间存在着某种联系,因此,在应用程序中往往需要同时操作多个表,即,在同一时刻,需要打开多个表。VFP通过工作区解决了同时打开多个表的问题

29、。4.5.1 工作区工作区是一段内存区域,VFP共提供了32 767个工作区,工作区编号为1至32 767。在某一时刻,一个表只能在一个工作区中处于打开状态,而一个工作区中也只能打开一个表文件,因此,在同一时刻最多可以打开32 767个表文件。在VFP中,对某工作区进行操作,实质上是对相关表进行操作。在对表进行操作的命令或函数中,如果不指明工作区,则系统默认对当前工作区进行操作。进入VFP后如果没有选择工作区,则系统默认第1个工作区为当前工作区,此时打开表文件将占用该工作区。占用工作区的方法有:方法一:打开表时说明要占用的工作区。命令格式:Use !表名 In 命令说明:在指定的工作区中打开表

30、文件。工作区号范围为32 767,表示目前没被占用的、工作区号最小的工作区。对于110号工作区也可以用AJ的10个字母表示,这是系统为前10个工作区提供的别名。【 例4.14 】在工作区1中打开学生表(XSB),在工作区3中打开成绩表(CJB),在空闲工作区中打开课程表(KCB)。Close AllUse XSB In 1Use CJB In CUse KCB In 0 & 实际上将在工作区2中打开KCB方法二:选择当前工作区。命令格式:Select | 命令说明:选择工作区作为当前工作区。对工作区号的要求同方法一,对于已经打开表的工作区,也可以使用表别名(表文件主名)选择当前工作区。【 例4

31、.15 】工作区的选择。Select 4 & 选择工作区4作为当前工作区Use MZB & 在工作区4中打开MZBSelect XSB & 选择XSB所在的工作区(参考例4.14)作为当前工作区4.5.2 表别名多数表操作命令都可以使用表别名,前10个工作区对应的AJ是系统提供的别名。在打开表时,没有规定别名的情况下,表文件的主名也是表别名。命令格式:Use Alias 命令说明:在打开表文件时,为表指定别名,表别名不能是AJ的单个字母,也不能与已存在的表别名重名。自定义的表别名随着表文件的关闭而消失。表别名的命名规则与内存变量的命名规则相同。【 例4.16 】在工作区5中打开表XYB,同时命

32、名其别名为SS。Select 5Use XYB Alias SS为表指定别名后,表文件主名不能再作为表别名使用。执行例4.16后,Select 5、Select E或Select SS命令都可以用于选择工作区,但系统不允许使用Select XYB。4.5.3 工作区使用状况可以通过相关函数来查看工作区的使用状况。1. 测试某一工作区或表别名是否被占用函数格式:Used( | )函数说明:当指定工作区或表别名已被占用时,函数返回逻辑真值(.T.),否则函数返回逻辑假值(.F.)。当省略参数时,函数判断当前工作区。【 例4.17 】工作区使用情况判断。Close AllUse XSB In 1 &

33、 在工作区1中打开XSBUse CJB In 2 & 在工作区2中打开CJB? Used(1) & 检测工作区1的使用情况,结果为.T.,在使用? Used(”CJB” ) & 检测CJB是否在使用,结果为.T.,在使用? Used(3) & 检测工作区3是否在使用,结果为.F.,未使用2. 获取工作区中打开的表名及路径函数格式:Dbf( | )函数说明:函数返回指定工作中打开的表文件完整路径及文件名。当工作区空闲时,则函数返回空字符串。【 例4.18 】工作区使用情况判断。Close AllUse XSB In 1 & 在工作区1中打开XSBUse CJB In 2 Alias CJ & 在

34、工作区2中打开CJB? Dbf(1) & 显示工作区1中打开的文件名称? Dbf(”CJ”) & 显示表别名CJ对应的文件名称? Dbf(3) & 显示工作区3中打开的文件名,结果为一空串Close All4.5.4 同时操作多个表中的数据在打开多个表情况下,通过操作多个工作区可以实现操作多个表中的数据。在表达式中,可以将字段名写成:.或-的形式,以便引用其他表中的数据。【 例4.19 】引用其他工作区中的数据。Select 1Use XSBSelect 2Use MZBLocate For 民族码=A-民族码 & 查找MZB中民族码等于XSB中当前记录民族码的记录Select 1? 学号,姓

35、名,B.民族名 & 同时显示两个工作区中的数据4.6 表中记录的输入、修改与删除对于数据库表或自由表,可以对其进行各种操作,如增加、删除、修改和输出记录等,对表进行操作之前,要打开相关表。4.6.1 增加记录1. 直接输入数据方法一:进入数据库设计器选择表名“数据库”菜单“浏览”“表”菜单“追加新记录”。方法二:在程序或命令窗口中使用Append命令。命令格式: Append Blank。命令说明:向当前表中追加新记录。不用Blank参数,系统打开输入记录窗口,并在表的末尾增加新记录,等待输入各个字段的值,光标在最后一个字段时按回车键可以继续添加新记录。使用Append Blank命令,并不打

36、开输入记录窗口,仅仅增加一条空白记录,可以通过修改记录的方法填充各个字段的值。【 例4.20 】在学生表(XSB)中增加新记录并立刻输入各个字段的内容。Use XSBAppend & 直接进入一个空白记录的输入界面,等待输入记录用上述两种方法从键盘输入数据时,对于数值型和字符型数据可以直接输入;对于逻辑型数据,输入T表示真,输入F表示假;对于日期型数据,必须符合日期格式要求。当光标在备注型字段(Memo)上时,按Ctrl+Home、Ctrl+PageUp、Ctrl+PageDown键或者鼠标双击该字段都可以打开备注字段的编辑窗口。在编辑窗口中输入备注信息后,按Ctrl+W键保存备注型数据并关闭

37、编辑窗口。2. 从其他表(文件)输入数据方法一:进入数据库设计器选择表名“数据库”菜单“浏览”“表”菜单“追加记录”选“类型”为“table”在“来源于”框中输入或选择表名“确定”。利用这种方式还可以将其他类型文件(如EXCEL电子表格)添加到当前表中。方法二:在程序或命令窗口中使用Append From命令,将其他表添加到当前表中。命令格式:Append From Fields For 命令说明:其中Fields 用于说明要填充值的各个字段。“条件”是运算结果为逻辑值的表达式,当逻辑表达式值为真(.T.)时称为条件成立或满足条件;当逻辑表达式值为假(.F.)时,称为条件不成立或不满足条件。F

38、or 用于指出要追加记录的条件,只有满足条件的记录才添加到当前表中。【 例4.21 】由多个人在不同的计算机上输入学生表中的记录,要将存储在U盘上XSB中的记录合并到当前表文件中,可以使用如下命令:Use D:XSXXGLXSB & 打开本机中的XSBAppend From H:XSB & 将U盘中(盘号为H)XSB的内容添加到当前表文件中Browse & 浏览表中的记录信息Use & 关闭表文件3. 查看表中记录个数查看一个表中的记录数,通常可以使用如下两种方法:方法一:打开表时,在VFP系统状态栏上有:记录 m/n,其m表示当前记录号,n表示表中记录总数。方法二:在表达式中使用RecCou

39、nt函数。函数格式:RecCount(工作区号 | 表别名)函数说明:RecCount函数返回指定工作区中的记录数,当省略参数时,函数返回当前工作区中表文件的记录数。【 例4.22 】显示学生表(XSB)中的记录数,可以使用的命令如下:Use XSB & 打开学生表(XSB)? RecCount() & 显示XSB中的记录总数Use & 关闭表文件4.6.2 删除记录删除表中记录有两种方式,一种是物理删除,另一种是逻辑删除。所谓物理删除是将表中记录直接清掉,而逻辑删除则是将要删除的记录加标记(*)后仍然存放在表中。1. 逻辑删除记录方法一:进入数据库设计器选择表名“数据库”菜单“浏览”“表”菜

40、单“删除记录”选择记录范围和输入条件“删除”按钮。方法二:在表浏览窗口中,单击浏览窗口中记录左侧的删除标记块使其变为黑色,从而达到逻辑删除记录的目的。方法三:在程序或命令窗口中使用Delete命令。命令格式:Delete For While In |命令说明:在指定表中逻辑删除满足条件的记录。In |用于指出要操作的表。工作区号是数字表达式,其值表示打开表的工作区号;表别名是字符表达式,其值是要操作的表别名。省略工作区号和表别名时,表示对当前工作区进行操作。2. 范围、For 条件和While 条件的作用在VFP中一些表操作命令都具有、For 和While 短语,各个短语的含义如下:(1)范围

41、:用于指出命令要操作的记录范围,可以选取All、Record n、Next n或Rest之一。 All:表示要操作表中全部记录。 Record n:n为正整数表达式,设其值为m,表示操作记录号为m的一条记录。 Next n:n为正整数表达式,设其值为m,表示操作当前记录开始的后m个记录(包含当前记录)。 Rest:表示从当前记录开始操作到表中最后记录(包括当前记录)。(2)For :其中“条件”是逻辑表达式,当表达式的值为.T.时,表示满足条件;当表达式的值为.F.时,表示不满足条件。For 将操作范围内满足条件的所有记录。(3)While :表示从记录范围中第一个记录开始,操作到记录范围内不

42、满足条件的记录为止。如果记录范围中第一个就不满足条件,则不对任何记录进行操作。如果一条命令中使用While ,而省略记录范围,则系统默认记录范围为Rest;如果一条命令中使用For ,而省略记录范围和While ,则系统默认记录范围为All。当省略记录范围、For 和While 时,系统默认的记录范围由具体命令决定。例如,在Delete命令中,如果不写记录范围、For 和While ,则仅逻辑删除当前记录,即记录范围为Next 1。【 例4.23 】 表中记录的删除操作。Use XSBDelete & 逻辑删除当前记录(第1个记录)Browse & 浏览表中记录Delete Next 5 &

43、逻辑删除5个记录BrowseDelete All For 性别=”1” & 逻辑删除全部男同学记录BrowseUse & 关闭表文件3. 检测逻辑删除的记录逻辑删除的记录在表中依然存在, 在程序中用Deleted函数能检测一条记录是否已被逻辑删除。函数格式:Deleted( | )函数说明:Deleted函数用于检测给定工作区中当前记录是否是逻辑删除记录,如果是,则函数返回逻辑真值(.T.),否则函数返回逻辑假值(.F.)。【 例4.24 】 检测逻辑删除的记录。Use XYB & 打开学院表Delete & 逻辑删除当前记录(第1个记录)? Deleted() & 函数返回逻辑真值(.T.)Skip & 将当前记录改为第2个记录? Deleted() & 函数返回逻辑假值(.F.)Use & 关闭表文件4. 恢复逻辑删除的记录恢复逻辑删除的记录就是去掉记录的删除标记(*)。其方法有:方法一:进入数据库设计器选择表名“数据库”菜单“浏览”“表”菜单“恢复记录”选择记录范围和恢复条件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com