如何管理数据表_第1页
如何管理数据表_第2页
如何管理数据表_第3页
如何管理数据表_第4页
如何管理数据表_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章 如何管理数据表如何管理数据表 2.1 案例引入案例引入管理商品信息表管理商品信息表 2.2 生成商品信息表生成商品信息表 2.3 使用商品信息表使用商品信息表 2.4 更新商品信息表更新商品信息表 2.5 数据表相关知识数据表相关知识 习题习题 上机实验题上机实验题 设计一个数据库应用管理系统,例如,商品销售管设计一个数据库应用管理系统,例如,商品销售管 理系统,首要的工作是确定所管理的对象,依据所理系统,首要的工作是确定所管理的对象,依据所 管理的对象设计数据库文件,即数据表,例如商品管理的对象设计数据库文件,即数据表,例如商品 信息表、销售情况表、库存表和员工表等等。数据信息表

2、、销售情况表、库存表和员工表等等。数据 表是构成数据库应用管理系统的重要部分。表是构成数据库应用管理系统的重要部分。 商品信息表是商品销售管理系统数据库中的一张数商品信息表是商品销售管理系统数据库中的一张数 据表,它是一张由行、列组成的二维表。每列的名据表,它是一张由行、列组成的二维表。每列的名 称被称为字段名;各字段的属性的集合称为表的结称被称为字段名;各字段的属性的集合称为表的结 构,它描述了数据存放形式以及存储的顺序,确定构,它描述了数据存放形式以及存储的顺序,确定 了表的字段,例如字段名为了表的字段,例如字段名为spbh(商品编号)、类商品编号)、类 型为字符型、宽度为型为字符型、宽度

3、为6、没有小数位等;每行被称、没有小数位等;每行被称 为记录,由各字段的值组成,表记录是表所要保存为记录,由各字段的值组成,表记录是表所要保存 的数据主体,例如商品编号为的数据主体,例如商品编号为110101、商品名称为、商品名称为 钢笔、品牌为英雄、型号为钢笔、品牌为英雄、型号为k1、销售单价为销售单价为5.2元。元。 商品信息表的表结构如图商品信息表的表结构如图2-1所示,而该表中的内所示,而该表中的内 容,也就是表记录的显示如图容,也就是表记录的显示如图2-2所示。所示。 2.1 案例引入案例引入管理商品信息表管理商品信息表 图图2-1 商品信息表结构商品信息表结构 图图2-2商品信息表

4、的记录商品信息表的记录 从上面的图中可以看出,数据表是由表结构和表记从上面的图中可以看出,数据表是由表结构和表记 录共同构成的,一个录共同构成的,一个visual foxpro所认可的表,在所认可的表,在 外存储器以文件为单位存放,因此数据表也被称为外存储器以文件为单位存放,因此数据表也被称为 数据库文件,其文件扩展名为数据库文件,其文件扩展名为.dbf。在在visual foxpro系统中,数据表的存在状态有两种:系统中,数据表的存在状态有两种: 一是一是 与数据库相关联的数据库表;二是与数据库不相关与数据库相关联的数据库表;二是与数据库不相关 联的自由表。二者的绝大多数操作相同且两种状态联

5、的自由表。二者的绝大多数操作相同且两种状态 可以相互转换,相比之下数据库表的优点要多一些。可以相互转换,相比之下数据库表的优点要多一些。 当一个表是数据库的一部分时,即数据表的状态为当一个表是数据库的一部分时,即数据表的状态为 数据库表时,它就可以具有以下特性:数据库表时,它就可以具有以下特性: 长表名和表中的长字段名;长表名和表中的长字段名; 表中字段的标题和注释;表中字段的标题和注释; 默认值、输入掩码和表中字段格式化;默认值、输入掩码和表中字段格式化; 表字段的默认控件类;表字段的默认控件类; 支持参照完整性的主关键字索引和表间关系;支持参照完整性的主关键字索引和表间关系; insert

6、、update或或delete事件的触发器。事件的触发器。 以商品信息表为例,上述功能显示举例如图以商品信息表为例,上述功能显示举例如图2-3以以 及图及图2-4所示。其功能的具体含义参见第所示。其功能的具体含义参见第4章相关内章相关内 容。容。 图图2-3数据表的结构数据表的结构“表设计器表设计器” 字段标签的显示内容字段标签的显示内容 图图2-4数据表的结构数据表的结构“表设计器表设计器”表标签的显示内表标签的显示内 容容 2.2.1创建商品信息表结构创建商品信息表结构 创建表结构的方法主要有两种:创建表结构的方法主要有两种: 利用表设计器方利用表设计器方 式和式和create table

7、-sql命令方式。命令方式。 现在用表设计器方式创建商品信息表现在用表设计器方式创建商品信息表spxx.dbf,其其 表各项数据如表表各项数据如表2-1所示。所示。 2.2 生成商品信息表生成商品信息表 表表2-1商品信息表的数据商品信息表的数据 商品编号商品名称品牌型号销售单价 110101钢笔英雄k15.2000 110102钢笔英雄m210.8000 110207钢笔永生s67.6000 110208钢笔永生s78.8000 210114牙膏佳洁士120g12.6000 210256牙膏高露洁80g6.8000 223798牙刷三笑软毛2.0000 316001矿泉水娃哈哈500ml1.

8、2000 320209可乐可口可乐1.2l4.4000 330303果味汽水醒目500ml2.0000 410177饼干美味200g3.0000 420278面包喜悦300g3.6000 1. 打开打开“表设计器表设计器” 在项目管理器窗口中的在项目管理器窗口中的“项项”列表中选择列表中选择“自由表自由表” 后单击后单击“新建新建”按钮,在出现的按钮,在出现的“新建表新建表”对话框对话框 中单击中单击“新表新表”按钮,然后在按钮,然后在“创建创建”对话框中选对话框中选 择保存表文件的文件夹并输入表择保存表文件的文件夹并输入表2-1中的数据。中的数据。 输入表文件名输入表文件名“spxx”,单击

9、单击“保存保存”按钮,则打按钮,则打 开如图开如图2-5所示的自由表的所示的自由表的“表设计器表设计器”对话框。对话框。 图图2-5创建自由表的创建自由表的“表设计器表设计器”窗口窗口 2. 在在“表设计器表设计器”中创建表结构中创建表结构 在在“字段名字段名”文本框中输入第一个字段名文本框中输入第一个字段名 “spbh”,在在“类型类型”下拉列表框中,选择字段的下拉列表框中,选择字段的 类型为类型为“字符型字符型”,在宽度输入框中输入,在宽度输入框中输入6或单击或单击 右边的微调按钮至右边的微调按钮至6。 将输入光标定位在第二个字段的字段名上,用将输入光标定位在第二个字段的字段名上,用 同样

10、的方法依次输入各个字段的字段名、类型、宽同样的方法依次输入各个字段的字段名、类型、宽 度和小数位数。度和小数位数。 将所有字段的参数确定好之后,单击将所有字段的参数确定好之后,单击“确定确定” 按钮或按按钮或按ctrl+w键存盘。系统会打开提示窗口,键存盘。系统会打开提示窗口, 询问用户是否立即输入记录,选择询问用户是否立即输入记录,选择“是是”立即开始立即开始 输入记录;选择输入记录;选择“否否”则不立即输入记录数据,光则不立即输入记录数据,光 标返回命令窗口,此时只建立表结构,记录为空。标返回命令窗口,此时只建立表结构,记录为空。 “表设计器表设计器”对话框中包含对话框中包含“字段字段”、

11、“索引索引”、 “表表”3个选项卡,如图个选项卡,如图2-5所示。所示。 (1) “字段字段”选项卡选项卡 使用于建立表结构,确定表中每个字段的字段名、使用于建立表结构,确定表中每个字段的字段名、 字段类型、字段宽度和小数位数等。字段类型、字段宽度和小数位数等。 字段名。是某个字段的名字。在表中必须是惟一的,字段名。是某个字段的名字。在表中必须是惟一的, 字段名必须以汉字、字母和下划线开头,由汉字、字段名必须以汉字、字母和下划线开头,由汉字、 字母、数字和下划线组成,对于数据库表支持长字字母、数字和下划线组成,对于数据库表支持长字 段名,字段名最多为段名,字段名最多为128个字符,自由表不支持

12、长个字符,自由表不支持长 字段名,字段名最多为字段名,字段名最多为10个字符。当数据库表转化个字符。当数据库表转化 为自由表时自动截去超长部分的字符。特别要注意为自由表时自动截去超长部分的字符。特别要注意 的是,字段名不能使用系统的保留字。的是,字段名不能使用系统的保留字。 类型。标识该字段中存放数据的类型。一个字类型。标识该字段中存放数据的类型。一个字 段即二维表中的一列,其中的数据应具有共同的属段即二维表中的一列,其中的数据应具有共同的属 性。若存放的是一些符号,不进行数值运算,如商性。若存放的是一些符号,不进行数值运算,如商 品编号、商品名称等,则定义为字符型;若需要进品编号、商品名称等

13、,则定义为字符型;若需要进 行数值运算,如销售数量、销售单价等,则根据数行数值运算,如销售数量、销售单价等,则根据数 值标识的实际意义,选择数值型、货币型、浮点型、值标识的实际意义,选择数值型、货币型、浮点型、 双精度型、整型中的一种。对描述日期的字段,可双精度型、整型中的一种。对描述日期的字段,可 根据需要定义为日期型或日期时间型。对取值只有根据需要定义为日期型或日期时间型。对取值只有 两种情况,为两种情况,为“真真”或为或为“假假”的数据定义为逻辑的数据定义为逻辑 型。若存储的字符超过型。若存储的字符超过254个,为节省存储空间可个,为节省存储空间可 定义为备注型。若要保存图片或定义为备注

14、型。若要保存图片或ole对象,可定义对象,可定义 为通用型。备注型和通用型字段的信息都没有直接为通用型。备注型和通用型字段的信息都没有直接 存放在表文件中,而是存放在一个与表文件同名存放在表文件中,而是存放在一个与表文件同名 的的.fpt文件中。表字段的基本数据类型如表文件中。表字段的基本数据类型如表2-2所示。所示。 表表2-2表字段的基本数据类型表字段的基本数据类型 数据类型字母表示说明示例字 符型c字母、汉字符号和数字型文本商品的编号或名称 货币型y货币单位商品的销售单价 数值型n整数或小数学生的考试成绩 浮点型f(同数值型) 双精度型b双精度型数值实验要求的高精度型数据 整型i不带小数

15、点的数值库存数量 日期型d年、月、日生日 日期时间型t年、月、日、时、分、秒员工的上班时间 逻辑型l真与假员工婚姻状况 备注型m不定长的一段文本员工简历 通用型gole员工的照片或声音 宽度。宽度。 表示该字段所允许存放数据的最大宽度,表示该字段所允许存放数据的最大宽度, 由数据的最大宽度决定,过大浪费存储空间,过小由数据的最大宽度决定,过大浪费存储空间,过小 数据溢出。字符型字段的最大宽度为数据溢出。字符型字段的最大宽度为254个字符,个字符, 数值型字段和浮点型字段的宽度为数值型字段和浮点型字段的宽度为20,逻辑字段的,逻辑字段的 宽度固定为宽度固定为1,日期型字段的宽度固定为,日期型字段

16、的宽度固定为8,通用型,通用型 和备注型字段的宽度固定为和备注型字段的宽度固定为4。 小数位数。小数位数。 对于数值、浮点型和双精度型的字对于数值、浮点型和双精度型的字 段还需要指定其小数的位数,这些数据类型的字段段还需要指定其小数的位数,这些数据类型的字段 宽度,实际上是宽度,实际上是“整数部分的宽度整数部分的宽度+小数点小数点1位位+小小 数位数宽度数位数宽度”。如果小数位数不为。如果小数位数不为0,则小数位数,则小数位数 必须比整个字段的宽度至少小必须比整个字段的宽度至少小2。 空值(空值(null)支持。支持。 空值是用来指示记录中空值是用来指示记录中 的一个字段有或没有数据的标识。的

17、一个字段有或没有数据的标识。null不是一种不是一种 数据类型或一个值,确切地说,它是用来指示数据数据类型或一个值,确切地说,它是用来指示数据 存在或不存在的一种属性。通过使用存在或不存在的一种属性。通过使用null,就有就有 了一个判定某个字段是否具有一个值的办法。了一个判定某个字段是否具有一个值的办法。 (2) 表选项卡表选项卡 对表的记录属性进行描述,控制记录数据。主要功对表的记录属性进行描述,控制记录数据。主要功 能有记录有效性和触发器,如图能有记录有效性和触发器,如图2-4所示。所示。 记录有效性中包括规则和信息。记录有效性中包括规则和信息。 规则。规则。 指定记录的有效条件,满足该

18、条件,数指定记录的有效条件,满足该条件,数 据才能输入到表中,它确定的是该记录各字段值之据才能输入到表中,它确定的是该记录各字段值之 间的总体数据关系是否有错。间的总体数据关系是否有错。 信息。信息。 当记录的数据不符合规则时,有系统显当记录的数据不符合规则时,有系统显 示给用户的提示信息。示给用户的提示信息。 当对记录进行操作时,若设置了触发器,则对触发当对记录进行操作时,若设置了触发器,则对触发 器设置的条件表达式进行验证,若其值为真器设置的条件表达式进行验证,若其值为真.t.,则则 允许进行相关操作,否则,拒绝操作。有允许进行相关操作,否则,拒绝操作。有3种触发种触发 器:器: 插入触发

19、器。插入触发器。 当向表中插入或追加记录时,判断当向表中插入或追加记录时,判断 其表达式的值,为其表达式的值,为“真真”允许插入或追加,为允许插入或追加,为“假假” 不允许插入或追加。不允许插入或追加。 更新触发器。更新触发器。 当要修改记录时,判断其表达式的当要修改记录时,判断其表达式的 值,为值,为“真真”允许修改,为允许修改,为“假假”不允许修改。不允许修改。 删除触发器。删除触发器。 当要删除表中记录时,判断其表达当要删除表中记录时,判断其表达 式的值,为式的值,为“真真”允许删除,为允许删除,为“假假”不允许删除。不允许删除。 用户也可以在用户也可以在“命令命令”窗口或程序中使用窗口

20、或程序中使用create table-sql命令创建表的结构。该命令的基本语命令创建表的结构。该命令的基本语 法格式如下:法格式如下: create table tablename (fieldname1 fieldtype (nfieldwidth , nprecision) null | not null ,fieldname2,) 其中,其中,tablename为表文件名;为表文件名;fieldname1、 fieldname2为字段名;为字段名;nfieldwidth为字段宽度;为字段宽度; nprecision为小数位数;为小数位数;null 和和not null用于用于 指定该字段

21、是否允许为空值。指定该字段是否允许为空值。 例如,商品信息表结构的创建可以使用下列命令:例如,商品信息表结构的创建可以使用下列命令: create table spxx(spbh c(6), spmc c(10), pp c(10), xh c(10), xsdj y(8)又例如,创建销售情况又例如,创建销售情况 表结构,其中表结构,其中cjbh(成交编号)和成交编号)和spbh(商品编号)商品编号) 字段不允许为字段不允许为null值,而值,而xssl(销售数量)字段销售数量)字段 则允许为则允许为null值:值: create table xsqk (cjbh c(6) not null,

22、 spbh c(6) not null, xssl i(4) null)也可以用也可以用set null on|off命令控制表字命令控制表字 段中是否允许段中是否允许null值。在默认情况下,系统处于值。在默认情况下,系统处于 set null off状态。状态。 值得注意的是,当设置表中的字段可以接受值得注意的是,当设置表中的字段可以接受null 值时,该表最多只能有值时,该表最多只能有254个字段。个字段。 2.2.2 表结构的修改表结构的修改 建立表以后,如果表结构需要增加字段、删除字段建立表以后,如果表结构需要增加字段、删除字段 或修改字段内容,则可以修改表的结构。修改表结或修改字段

23、内容,则可以修改表的结构。修改表结 构的方式有两种:构的方式有两种: 1. 用表设计器修改表的结构用表设计器修改表的结构 如果已经建立的表结构已经存在于一个项目中,就如果已经建立的表结构已经存在于一个项目中,就 可以在可以在“项目管理器项目管理器”窗口中先选定要修改的表,窗口中先选定要修改的表, 然后单击然后单击“修改修改”命令按钮,便可以打开命令按钮,便可以打开“表设计表设计 器器”对话框。如图对话框。如图2-6所示,用户可根据需要修改所示,用户可根据需要修改 表结构。表结构。 也可以在当前已被打开的表文件中,使用也可以在当前已被打开的表文件中,使用modify structure命令打开命

24、令打开“表设计器表设计器”对话框,进对话框,进 行修改。行修改。 图图2-6利用利用“表设计器表设计器”修改表结构修改表结构 2. 用用alter table-sql命令修改表的结构命令修改表的结构 用户可以在用户可以在“命令命令”窗口或程序中使用该命令来修窗口或程序中使用该命令来修 改表的结构。该命令的基本语法如下:改表的结构。该命令的基本语法如下: 格式格式1: 用用add子句增加字段,用子句增加字段,用alter子句修子句修 改字段。改字段。 alter table tablename add|alter colume fieldname fieldtype (nfieldwidth ,

25、 nprecision) 格式格式2: 用用drop子句删除字段。子句删除字段。 alter table tablename drop column fieldname 格式格式3: 用用rename子句更改字段名。子句更改字段名。 alter table tablename rename column fieldname1 to fieldname2 例如:例如: 将将zje(总金额)字段添加到销售情况表总金额)字段添加到销售情况表 (xsqk.dbf)中。代码如下:中。代码如下:alter table xsqk add column zje y(8) 将字段名将字段名zje更改为更改为zo

26、ngje。代码如下:代码如下:alter table xsqk rename zje to zongje 将字段将字段zongje从表从表xsqk中删除。代码如下:中删除。代码如下: alter table xsqk drop column zongje值得值得 考虑的是,在修改宽度、类型时,是否会引起数据考虑的是,在修改宽度、类型时,是否会引起数据 的溢出、丢失;在修改字段名时,是否会引起数据的溢出、丢失;在修改字段名时,是否会引起数据 的丢失以及该字段是否在其他位置被引用。的丢失以及该字段是否在其他位置被引用。 在已经建立的商品信息表中要输入商品信息,也就在已经建立的商品信息表中要输入商品

27、信息,也就 是输入记录,有是输入记录,有4种方法:种方法: 2.2.3 输入商品信息输入商品信息 1. 表结构创建以后立即输入记录表结构创建以后立即输入记录 如图如图2-5所示,如果刚建好商品信息表的结构时,所示,如果刚建好商品信息表的结构时, 在系统提示是否立即输入记录的对话框中选择在系统提示是否立即输入记录的对话框中选择“是是” 按钮,就可以直接进入输入记录编辑窗口,如图按钮,就可以直接进入输入记录编辑窗口,如图2- 7所示,在该编辑窗口中,系统用一条横线将各个所示,在该编辑窗口中,系统用一条横线将各个 记录隔开,其中一行显示一个字段,包括字段名以记录隔开,其中一行显示一个字段,包括字段名

28、以 及字段值。在这个窗口可以将商品信息一一输入,及字段值。在这个窗口可以将商品信息一一输入, 输入结束后,单击窗口的输入结束后,单击窗口的“关闭关闭”按钮,或者按按钮,或者按 ctrl+end组合键或者组合键或者ctrl+w组合键,即可以将输组合键,即可以将输 入的记录,即商品信息存盘退出。入的记录,即商品信息存盘退出。 图图2-7输入记录编辑窗口输入记录编辑窗口 2. 在浏览窗口中追加记录在浏览窗口中追加记录 用户通过表的浏览功能可以在屏幕上查看和处理表用户通过表的浏览功能可以在屏幕上查看和处理表 的记录。利用表的浏览功能浏览当前工作区中的表的记录。利用表的浏览功能浏览当前工作区中的表 有多

29、种方法。如利用菜单命令有多种方法。如利用菜单命令“显示显示/浏览浏览”;或;或 在在“数据工作期数据工作期”窗口中选择表,然后单击窗口中选择表,然后单击“浏览浏览” 按钮;或使用按钮;或使用browse命令。如果表由项目所管命令。如果表由项目所管 理,无论表是否被打开,均可以在理,无论表是否被打开,均可以在“项目管理器项目管理器” 窗口中选择需要浏览的表,单击窗口中的窗口中选择需要浏览的表,单击窗口中的“浏览浏览” 按钮。通过上述的任何一种方法,都将显示如图按钮。通过上述的任何一种方法,都将显示如图2- 8所示以表格形式显示商品信息表的浏览窗口。所示以表格形式显示商品信息表的浏览窗口。 图图2

30、-8在浏览窗口输入记录在浏览窗口输入记录 当商品信息表处于浏览状态时,利用菜单命令当商品信息表处于浏览状态时,利用菜单命令“表表 /追加新记录追加新记录”或或append blank命令,则可追加命令,则可追加 一条空记录,并且处于编辑状态,等待用户输入数一条空记录,并且处于编辑状态,等待用户输入数 据;如果利用菜单命令据;如果利用菜单命令“显示显示/追加方式追加方式”则可追则可追 加多条记录,即输入一行信息以后单击加多条记录,即输入一行信息以后单击enter键,键, 光标将停留在下一个空白行的行首,可输入下一行光标将停留在下一个空白行的行首,可输入下一行 的信息。的信息。 此外,表的浏览窗口

31、与编辑窗口可以相互切换,其此外,表的浏览窗口与编辑窗口可以相互切换,其 操作方法是利用菜单命令操作方法是利用菜单命令“显示显示/浏览浏览”与与“显示显示/ 编辑编辑”。 在浏览窗口中,备注型字段显示在浏览窗口中,备注型字段显示“memo”(表示无表示无 内容)或者内容)或者“memo”(表示有内容)。输入备注表示有内容)。输入备注 型字段内容时,操作步骤是:型字段内容时,操作步骤是: 把光标移动到备注把光标移动到备注 型字段后,按下型字段后,按下ctrl+home组合键或者双击备注型组合键或者双击备注型 字段;在出现的编辑窗口中输入备注内容,结束后字段;在出现的编辑窗口中输入备注内容,结束后

32、关闭编辑窗口。关闭编辑窗口。 在浏览窗口中,通用型字段显示在浏览窗口中,通用型字段显示“gen”(表示无内表示无内 容)或者容)或者“gen”(表示有内容)。输入通用型字表示有内容)。输入通用型字 段内容时,操作步骤是:段内容时,操作步骤是: 把光标移动到通用型字把光标移动到通用型字 段后,按下段后,按下ctrl+home组合键或者双击通用型字段;组合键或者双击通用型字段; 在出现编辑窗口后利用菜单命令在出现编辑窗口后利用菜单命令“编辑编辑/插入对象插入对象” 插入其内容,结束时关闭编辑窗口。插入其内容,结束时关闭编辑窗口。 3. 利用利用insert-sql命令追加记录命令追加记录 inse

33、rt-sql命令可以在命令可以在“命令命令”窗口或程序中向窗口或程序中向 一张表中追加记录,其命令格式:一张表中追加记录,其命令格式: insert into tablename(fieldname1, fieldname2,) values(eexpression1,eexpression2,) 例如,使用例如,使用insert-sql命令向商品信息表命令向商品信息表spxx插插 入一条新记录。入一条新记录。insert into spxx(spbh,spmc, pp,xh,xsdj) values (420279,面包面包,喜悦喜悦,150g, 2) 4. 利用利用append命令追加记录

34、命令追加记录 append命令是向当前数据表文件追加记录,有两命令是向当前数据表文件追加记录,有两 种格式:种格式: (1) 使用使用append命令向数据表追加空记录命令向数据表追加空记录 append blank in nworkarea | ctablealias格式中,格式中,blank用于说明向表内追用于说明向表内追 加一条记录,默认时系统向数据表中追加一条空记加一条记录,默认时系统向数据表中追加一条空记 录,并打开表的浏览窗口以便用户输入该记录的数录,并打开表的浏览窗口以便用户输入该记录的数 据。据。 (2) 使用使用append from命令追加记录命令追加记录append fr

35、om filename delimited | xls该格式该格式 命令是实现从其他表或文件如数据表文件命令是实现从其他表或文件如数据表文件.dbf、文文 本文件本文件.txt、excel文件文件.xsl等中向当前数据表文件等中向当前数据表文件 导入数据记录,其中导入数据记录,其中delimited用于说明追加文用于说明追加文 件为文本文件,件为文本文件,xls用于说明追加文件为用于说明追加文件为excel文文 件,默认时追加文件为数据表文件。件,默认时追加文件为数据表文件。 此外当前数据表处于浏览状态时利用菜单命令此外当前数据表处于浏览状态时利用菜单命令“表表 /追加记录追加记录”,打开后如

36、图,打开后如图2-9所示,选择文件类型、所示,选择文件类型、 追加的数据来源文件后,也可以将其他文件如数据追加的数据来源文件后,也可以将其他文件如数据 表文件、文本文件、表文件、文本文件、excel文件等中的数据单加到文件等中的数据单加到 当前工作区的表中。当前工作区的表中。 图图2-9利用菜单利用菜单“表表/追加记录追加记录”后后“追加来源追加来源”窗窗 口口 在追加过程中,对于表文件来说,只有与当前数据在追加过程中,对于表文件来说,只有与当前数据 表的字段相同的字段,其数据追加到当前表中;对表的字段相同的字段,其数据追加到当前表中;对 于文本文件来说,要求其每条记录以回车符结尾,于文本文件

37、来说,要求其每条记录以回车符结尾, 各字段内容用逗号分隔,字符型字段值要加引号;各字段内容用逗号分隔,字符型字段值要加引号; 对于对于excel文件来说,要求工作表的列结构与当前文件来说,要求工作表的列结构与当前 数据表的表结构相应。数据表的表结构相应。 通过前两节的内容建立了商品信息表的数据表文件通过前两节的内容建立了商品信息表的数据表文件 后,如果要使用已经建立在存储器上的数据表时,后,如果要使用已经建立在存储器上的数据表时, 要通过打开、浏览、定位、筛选、索引等功能来使要通过打开、浏览、定位、筛选、索引等功能来使 用商品信息表。用商品信息表。 2.3 使用商品信息表使用商品信息表 1.

38、工作区工作区 对一张数据表的操作是通过一个工作区来进行的。对一张数据表的操作是通过一个工作区来进行的。 工作区是用来标识一张打开的数据表的区域,也就工作区是用来标识一张打开的数据表的区域,也就 是,打开一张数据表时必须为该数据表指定一个工是,打开一张数据表时必须为该数据表指定一个工 作区。系统允许使用编号为作区。系统允许使用编号为132747这个范围内的这个范围内的 工作区,就是说,每个工作区都有一个编号,称为工作区,就是说,每个工作区都有一个编号,称为 工作区号。例如,工作区号。例如,1号工作区、号工作区、2号工作区等,其中号工作区等,其中 前前10个工作区还可以用字母个工作区还可以用字母a

39、j来表示。同时对已来表示。同时对已 经打开数据表的工作区,还可以用表的经打开数据表的工作区,还可以用表的“别名别名”来来 标识该数据表,如何来定义表名,后面再介绍。标识该数据表,如何来定义表名,后面再介绍。 2.3.1 打开与关闭商品信息表打开与关闭商品信息表 对于工作区的使用要注意到:对于工作区的使用要注意到: 一个工作区只能打一个工作区只能打 开一张数据表。当在已经打开数据表的工作区中,开一张数据表。当在已经打开数据表的工作区中, 再次打开另外一张数据表,则前一张打开的数据表再次打开另外一张数据表,则前一张打开的数据表 自动关闭。另外,用户可以同时在多个工作区中分自动关闭。另外,用户可以同

40、时在多个工作区中分 别打开多张数据表,也可以将一张数据同时在多个别打开多张数据表,也可以将一张数据同时在多个 工作区中打开。工作区中打开。 如果同时在多个工作区中分别打开多个数据表时,如果同时在多个工作区中分别打开多个数据表时, 只有一个工作区被称为当前工作区,这个工作区就只有一个工作区被称为当前工作区,这个工作区就 是系统正在操作的工作区,系统将当前工作区认定是系统正在操作的工作区,系统将当前工作区认定 为默认工作区。通过界面交互地或用命令进行有关为默认工作区。通过界面交互地或用命令进行有关 数据表的处理操作时,如果不指定工作区号时,则数据表的处理操作时,如果不指定工作区号时,则 其操作对象

41、为当前工作区中的数据表。另外,在其操作对象为当前工作区中的数据表。另外,在 visual foxpro系统启动,默认的当前工作区号为系统启动,默认的当前工作区号为1。 操作工作区的命令为操作工作区的命令为select,其命令格式为:其命令格式为: select nworkarea | ctablealias 其中,其中,nworkarea 为工作区号;为工作区号;ctablealias为数为数 据表的别名。据表的别名。 【例【例2-1】说明下列语句的功能。】说明下列语句的功能。select 1 use spxx其功能为在其功能为在1号工作区打开商品信息表号工作区打开商品信息表 spxx.dbf

42、,当前正在操作的为当前正在操作的为1号工作区。号工作区。 【例【例2-2】说明下列语句的功能。】说明下列语句的功能。select 1 use spxx select 0 use xsqk其功能为在其功能为在1号工作区中打开商品信息表号工作区中打开商品信息表 spxx.dbf,再在再在2号工作区中打开销售情况表号工作区中打开销售情况表 xsqk.dbf,执行到此,此时的当前操作工作区为执行到此,此时的当前操作工作区为2 号。这里的号。这里的select 0是指选择未被使用的最小编是指选择未被使用的最小编 号的工作区,因为前面已经使用了号的工作区,因为前面已经使用了1号工作区,故号工作区,故 销售

43、情况表实际是在销售情况表实际是在2号工作区打开的。号工作区打开的。 2. 打开和关闭数据表打开和关闭数据表 要打开数据表文件,如打开商品信息表、销售情况要打开数据表文件,如打开商品信息表、销售情况 表等等。使用表时首先必须把数据表打开,其意义表等等。使用表时首先必须把数据表打开,其意义 在于告知系统当前所要操作的数据表,并在内存中在于告知系统当前所要操作的数据表,并在内存中 开辟一块存储区域。数据表的打开可以显式打开或开辟一块存储区域。数据表的打开可以显式打开或 者隐式打开。显式打开是指用户利用菜单等界面操者隐式打开。显式打开是指用户利用菜单等界面操 作方法,或者用作方法,或者用use命令直接

44、打开数据表,例如上命令直接打开数据表,例如上 述例述例1和例和例2。隐式打开是指在执行某些操作(通过。隐式打开是指在执行某些操作(通过 界面操作或者执行各种界面操作或者执行各种sql命令)时,系统会自动命令)时,系统会自动 打开相应的数据表。例如,前面已经介绍过的打开相应的数据表。例如,前面已经介绍过的 alter-sql命令修改表结构时,命令修改表结构时,insert-sql命命 令插入记录时,被操作的数据表都将自动打开;另令插入记录时,被操作的数据表都将自动打开;另 外,在外,在“项目管理器项目管理器”窗口中选择一张数据表后,窗口中选择一张数据表后, 单击单击“修改修改”或或“浏览浏览”按

45、钮时,数据表也会自动按钮时,数据表也会自动 打开。打开。 (1) 打开数据表打开数据表 打开数据表有不同的方法。当一张数据表刚创建的打开数据表有不同的方法。当一张数据表刚创建的 时候,该数据表自动处于打开状态;已经存在的数时候,该数据表自动处于打开状态;已经存在的数 据表要再次被使用和操作,可以使用下列方式打开据表要再次被使用和操作,可以使用下列方式打开 数据表:数据表: 使用菜单命令使用菜单命令“文件文件/打开打开”或者单击或者单击“常用常用” 工具条上的工具条上的“打开打开”按钮,将出现按钮,将出现“打开打开”对话框,对话框, 如图如图2-10所示。在该对话框中选择数据表文件,则所示。在该

46、对话框中选择数据表文件,则 指定数据表将在当前工作区打开。指定数据表将在当前工作区打开。 图图2-10 数据表数据表“打开打开”窗口窗口 在在“数据工作期数据工作期”中单击中单击“打开打开”按钮,将出按钮,将出 现现“打开打开”对话框,如图对话框,如图2-10所示。在该对话框中所示。在该对话框中 选择选择 数据表文件,则指定数据表将在当前未被使用的最数据表文件,则指定数据表将在当前未被使用的最 小工作区号中打开,并且不影响当前工作区。小工作区号中打开,并且不影响当前工作区。 数据工作期是当前数据动态工作环境的一种表示。数据工作期是当前数据动态工作环境的一种表示。 在系统启动后,自动生成一个数据

47、工作期,称为在系统启动后,自动生成一个数据工作期,称为 “默认默认”数据工作期。每一个表单、表单集或者报数据工作期。每一个表单、表单集或者报 表在运行过程中,为管理自己所用的数据,可以形表在运行过程中,为管理自己所用的数据,可以形 成自己的数据工作期。每一个数据工作期有自己的成自己的数据工作期。每一个数据工作期有自己的 一组工作区,工作区含有打开的表、表索引和关系。一组工作区,工作区含有打开的表、表索引和关系。 在在“项目管理器项目管理器”窗口中单击选择需要打开的窗口中单击选择需要打开的 数据表,然后单击数据表,然后单击“修改修改”或者或者“浏览浏览”按钮,则按钮,则 指定数据表将被打开,并且

48、出现指定数据表将被打开,并且出现“表设计器表设计器”对话对话 框或者数据表的浏览窗口。数据表将在当前未被使框或者数据表的浏览窗口。数据表将在当前未被使 用的最小工作区号中被打开,并且设置该工作区为用的最小工作区号中被打开,并且设置该工作区为 当前工作区。当前工作区。 在命令窗口使用命令打开数据表。在命令窗口使用命令打开数据表。 命令格式如下:命令格式如下: use tablename in nworkarea |ctablealias again alias ctablealias noupdate 其中:其中: in子句用于指定数据表在哪个工作区打开,默认时,子句用于指定数据表在哪个工作区打

49、开,默认时, 则表示在当前工作区中打开;则表示在当前工作区中打开; again用于说明该数据表被再次打开,即数据表用于说明该数据表被再次打开,即数据表 在多个工作区中被打开;在多个工作区中被打开; alias子句用于定义数据表的别名,默认时,数据子句用于定义数据表的别名,默认时,数据 表的别名一般与表名相同;表的别名一般与表名相同; noupdate指定数据表打开后,不允许修改其结指定数据表打开后,不允许修改其结 构和数据。构和数据。 例如,解释下列命令:例如,解释下列命令: use spxx在当前工作区中在当前工作区中 打开商品信息表打开商品信息表spxx。use xsqk in 0 ali

50、as qk0 号工作区代表当前还未使用的工作区中的最小号工号工作区代表当前还未使用的工作区中的最小号工 作区,所以上述命令的功能为:作区,所以上述命令的功能为: 在未使用的最小在未使用的最小 工作区号的工作区中打开销售情况表工作区号的工作区中打开销售情况表xsqk,取别名取别名 为为qk。use yg in 4 noupdate在在4号工作区打开号工作区打开 员工表员工表yg,并且设置不允许修改并且设置不允许修改use spxx in 10 again 在在10号工作区中再次打开号工作区中再次打开spxx表,其别名表,其别名 为为j。 值得注意的是,表的别名是对工作区中打开的数据值得注意的是,

51、表的别名是对工作区中打开的数据 表的一个临时标识或称呼,使用别名,将便于输入,表的一个临时标识或称呼,使用别名,将便于输入, 特别是在应用程序中,工作区通常是用别名来标识特别是在应用程序中,工作区通常是用别名来标识 工作区的数据表。别名可以通过工作区的数据表。别名可以通过use命令中的命令中的 alias子句来指定,其命名规则与数据表名相同,子句来指定,其命名规则与数据表名相同, 但是如果一张数据表同时在多个工作区中打开,并但是如果一张数据表同时在多个工作区中打开,并 且均未指定别名,则在第一次打开的工作区中,别且均未指定别名,则在第一次打开的工作区中,别 名与数据表名相同,其他工作区用名与数

52、据表名相同,其他工作区用aj以及以及 w11w32747表示。一般情况下,如果在工作区中表示。一般情况下,如果在工作区中 打开一张数据表而未指定别名,则其别名被默认为打开一张数据表而未指定别名,则其别名被默认为 数据表名。数据表名。 (2) 关闭数据表关闭数据表 当数据表不需要再使用时,可以通过关闭操作或命当数据表不需要再使用时,可以通过关闭操作或命 令来关闭一张数据表。其含义在于将该数据表所占令来关闭一张数据表。其含义在于将该数据表所占 的内存空间,即工作区,释放出来。在操作过程中,的内存空间,即工作区,释放出来。在操作过程中, 如果在一个工作区中已经打开了一张数据表,则在如果在一个工作区中

53、已经打开了一张数据表,则在 此工作区中再次打开另一张数据表时,原先的数据此工作区中再次打开另一张数据表时,原先的数据 表则将自动被关闭。表则将自动被关闭。 通过界面操作。该操作主要在通过界面操作。该操作主要在“数据工作期数据工作期” 窗口进行,在其窗口先选定一张数据表的别名,然窗口进行,在其窗口先选定一张数据表的别名,然 后单击后单击“关闭关闭”按钮,即实现了关闭一张数据表的按钮,即实现了关闭一张数据表的 操作。操作。 使用命令方式。在命令窗口可以使用下列命令使用命令方式。在命令窗口可以使用下列命令 来实现关闭一张数据表的操作。来实现关闭一张数据表的操作。 格式格式1: 关闭当前工作区或指定工

54、作区号或指定数关闭当前工作区或指定工作区号或指定数 据表别名的数据表。据表别名的数据表。 use in nworkarea | ctablealias 其中,不使用其中,不使用in子句时,指关闭当前工作区中的数子句时,指关闭当前工作区中的数 据表;当使用据表;当使用in子句选择子句选择nworkarea时,指关闭时,指关闭 指定工作区号中的数据表,选择指定工作区号中的数据表,选择ctablealias时,指时,指 关闭指定数据表别名的数据表。关闭指定数据表别名的数据表。 例如:例如: use spxx in 1 & 在在1号工作区打开号工作区打开spxx 数据数据 select 1 & 将将1

55、号工作区设置为当前操作号工作区设置为当前操作 工作区工作区 use xsqk & 在在1号工作区中再次打开号工作区中再次打开xsqk数数 据,同时关闭据,同时关闭spxx数据表数据表 use & 或或 use in 1 或或 use in spxx 命令命令 关闭数据表关闭数据表xsqk格式格式2: 关闭所有工作区中的数据关闭所有工作区中的数据 表。表。close tables & 关闭所有工作区中的关闭所有工作区中的 数据表数据表 close all & 关闭所有数据库、数据表和索关闭所有数据库、数据表和索 引,并且将当前工作区号设置为引,并且将当前工作区号设置为0另外,在退出另外,在退出

56、visual foxpro系统时,所有数据表也都将被关闭。系统时,所有数据表也都将被关闭。 (3) 数据表的独占与共享数据表的独占与共享 visual foxpro是一个多用户的开发环境,网络上的是一个多用户的开发环境,网络上的 多用户可以在同一时刻访问同一张数据表。这种一多用户可以在同一时刻访问同一张数据表。这种一 张数据表同时被多个用户访问的情况,就是数据表张数据表同时被多个用户访问的情况,就是数据表 的共享使用。反之,当一张数据表只能被一个用户的共享使用。反之,当一张数据表只能被一个用户 打开时,称为数据表的独占使用。打开时,称为数据表的独占使用。 一般在默认情况下,数据是以独占方式打开

57、的。当一般在默认情况下,数据是以独占方式打开的。当 然系统的默认打开方式可以选择菜单然系统的默认打开方式可以选择菜单“工工 具具”|“选项选项”,打开,打开“选项选项”对话框设置,或者对话框设置,或者 使用命令设置。使用命令设置。 命令为:命令为: set exclusive off& 设置设置“共享共享” 为默认打开方式为默认打开方式 set exclusive on& 设置设置“独占独占”为默认打为默认打 开开 方式在打开数据表时,也可以显式地指定数据表的方式在打开数据表时,也可以显式地指定数据表的 打开方式是独占还是共享。也有界面操作和命令操打开方式是独占还是共享。也有界面操作和命令操

58、作两种。在采用界面操作方法打开数据表时,在作两种。在采用界面操作方法打开数据表时,在 “打开打开”对话框中有一个对话框中有一个“独占独占”复选框,选中表复选框,选中表 示独占,否则表示共享,如图示独占,否则表示共享,如图2-10所示。在使用命所示。在使用命 令方式下,只要在令方式下,只要在use命令后加子句命令后加子句shared(共共 享)或者享)或者exclusive(独占)即可,例如:独占)即可,例如: use spxx shared & 以共享方式打开以共享方式打开spxx数据表数据表 use spxx exlusive & 以独占方式打开以独占方式打开spxx数数 据表另外注意,当改

59、变据表另外注意,当改变set exlusive的设置并的设置并 不能改变在设置之前已经打开的数据表的共享或独不能改变在设置之前已经打开的数据表的共享或独 占的状态;一张数据表同时被多次打开时,只以第占的状态;一张数据表同时被多次打开时,只以第 一次的打开方式为准。一次的打开方式为准。 一旦商品信息表被创建在计算机存储器中,如果要一旦商品信息表被创建在计算机存储器中,如果要 查看该数据表的信息,则要通过相应的方法。比如查看该数据表的信息,则要通过相应的方法。比如 首先要按照上面所谈的那样来打开商品信息表,然首先要按照上面所谈的那样来打开商品信息表,然 后根据后根据visual foxpro所提供

60、的浏览等功能查看所需所提供的浏览等功能查看所需 要的信息。要的信息。 1. 显示数据表记录显示数据表记录 可以通过界面方式和命令方式来显示数据表的记录可以通过界面方式和命令方式来显示数据表的记录 内容。内容。 2.3.2 查看商品信息查看商品信息 (1) 利用界面方式来浏览数据表利用界面方式来浏览数据表 从项目管理器中打开商品信息表从项目管理器中打开商品信息表spxx,并单击并单击“浏浏 览览”按钮即可显示当前所选定的商品信息表的记录按钮即可显示当前所选定的商品信息表的记录 内容了。内容了。 也可以使用菜单也可以使用菜单“文件文件”|“打开打开”功能,在打开功能,在打开 对话框中选择商品信息表

温馨提示

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

最新文档

评论

0/150

提交评论