第3章VisualFoxPro6.0数据库及其操作3.1数据库的建立3.1.1数据库概念数据库是一个包含多种数据对象的抽象的“容器”,可以简单地理解为存放数据的仓库。在VisualFoxPro中,数据库可以包括一个或多个表、视图、到远程数据源的连接和存储过程。在数据库的组织管理下,可以方便灵活地对表、记录、索引、表间关联以及表的参照完整性进行控制。3.1.2数据库的建立数据库是以文件形式存放在磁盘上,称为“数据库文件”,其扩展名为.dbc。可以通过菜单方式、项目管理器方式和命令方式来创建一个新的数据库。1、用菜单方式建立数据库用菜单方式创建新的数据库,可按如下步骤:(1)在系统主菜单中,选择“文件”下拉菜单中的“新建”命令,或直接单击常用工具栏上的“新建”按钮,系统将显示“新建”对话框。(2)从“文件类型”选项中选择“数据库”,再单击“新建文件”按钮,出现“创建”对话框。在“数据库名:”文本框中输入要建立的数据库名,如输入“JXGL”后单击“保存”按钮,系统就在当前盘的当前目录下生成名为JXGL.dbc的数据库文件,同时打开“数据库设计器”窗口,并显示“数据库设计器”工具栏。此时,用户已经建立了一个名为JXGL.dbc的空数据库,此外,系统还会自动生成一个扩展名为.dct的数据库备注文件和一个扩展名为.dcx的数据库索引文件。2、在项目管理器中建立数据库项目管理器是用于对VisualFoxPro6.0中各种类型的文件进行分类、管理的组织工具。在VisualFoxPro6.0数据库系统中的一个“项目”就是相关程序、数据、文档以及对象集成在一起的集成体,它以扩展名为.pjx的文件存盘。用户可以通过类似菜单方式创建数据库的方法创建一个项目。在项目管理器中创建数据库的方法是:打开“项目管理器”,选择项目管理器中的“数据”选项卡,然后再选择“新建”按钮,其余步骤同菜单方式。3、命令方式建立数据库格式:CREATEDATABASE[<数据库文件名>|?]功能:创建并打开一个数据库。说明:(1)《数据库文件名>指定要创建的数据库的名称,命名规则遵循文件名的命名规则,缺省扩展名为.dbc。(2)如果缺省<数据库文件名>或使用“?”号,将显示“创建”对话框,提示用户指定要创建的数据库的名称。(3)命令方式建立数据库,系统不显示数据库设计器,但确实建立了一个空数据库。【例3-1】用命令方式创建名为JXGL的数据库。命令:CREATEDATABASEJXGL建立好的数据库只是一个数据库的框架,里面还没有数据,用户可以向其中添加各种数据库对象,如表、视图、表之间的关系等
第 3 章 Visual FoxPro 6.0 数据库及其操作 3.1 数据库的建立 3.1.1 数据库概念 数据库是一个包含多种数据对象的抽象的“容器”,可以简单地理解为存放数据的仓库。 在 Visual FoxPro 中,数据库可以包括一个或多个表、视图、到远程数据源的连接和存储过程。 在数据库的组织管理下,可以方便灵活地对表、记录、索引、表间关联以及表的参照完整性 进行控制。 3.1.2 数据库的建立 数据库是以文件形式存放在磁盘上,称为“数据库文件”,其扩展名为.dbc。可以通过 菜单方式、项目管理器方式和命令方式来创建一个新的数据库。 1、用菜单方式建立数据库 用菜单方式创建新的数据库,可按如下步骤: (1)在系统主菜单中,选择“文件”下拉菜单中的“新建”命令,或直接单击常用工 具栏上的“新建”按钮,系统将显示“新建”对话框。 (2)从“文件类型”选项中选择“数据库”,再单击“新建文件” 按钮,出现“创建” 对话框。在“数据库名:”文本框中输入要建立的数据库名,如输入“JXGL”后单击“保存” 按钮,系统就在当前盘的当前目录下生成名为 JXGL.dbc 的数据库文件,同时打开“数据库 设计器”窗口,并显示“数据库设计器”工具栏。 此时,用户已经建立了一个名为 JXGL.dbc 的空数据库,此外,系统还会自动生成一个 扩展名为.dct 的数据库备注文件和一个扩展名为.dcx 的数据库索引文件。 2、在项目管理器中建立数据库 项目管理器是用于对 Visual FoxPro 6.0 中各种类型的文件进行分类、管理的组织工具。 在 Visual FoxPro 6.0 数据库系统中的一个“项目”就是相关程序、数据、文档以及对象集成 在一起的集成体,它以扩展名为.pjx 的文件存盘。用户可以通过类似菜单方式创建数据库的 方法创建一个项目。在项目管理器中创建数据库的方法是:打开“项目管理器”,选择项目管 理器中的“数据”选项卡,然后再选择“新建”按钮,其余步骤同菜单方式。 3、命令方式建立数据库 格式:CREATE DATABASE [<数据库文件名>|?] 功能:创建并打开一个数据库。 说明: (1)<数据库文件名>指定要创建的数据库的名称,命名规则遵循文件名的命名规则, 缺省扩展名为.dbc。 (2)如果缺省<数据库文件名>或使用“?”号,将显示“创建”对话框,提示用户指定 要创建的数据库的名称。 (3)命令方式建立数据库,系统不显示数据库设计器,但确实建立了一个空数据库。 【例 3-1】 用命令方式创建名为 JXGL 的数据库。 命令:CREATE DATABASE JXGL 建立好的数据库只是一个数据库的框架,里面还没有数据,用户可以向其中添加各种数 据库对象,如表、视图、表之间的关系等
3.1.3数据库的基本操作在VisualFoxPro6.0中,可以同时打开多个数据库,打开数据库的常用方法有三种:菜单方式、命令方式和项目管理器方式。1、数据库的打开在数据库中建立表或对数据库中的表进行相关操作时,都必须先打开数据库。数据库的打开,就是指将数据库文件从所在磁盘调入内存。(1)菜单方式打开数据库单击工具栏上的“打开”按钮或在系统主菜单的“文件”下拉菜单中选择“打开”命令,在弹出的“打开”对话框中的“文件类型”下拉列表框中选择“数据库(*.dbc)”,选择数据库文件所在的文件夹,选择或输入数据库文件名后,单击“确定”按钮打开数据库。(2)命令方式打开数据库格式:OPENDATABASE[<数据库文件名>?][EXCLUSIVE|SHARED功能:打开一个指定的数据库。说明:①<数据库文件名>指定要打开的数据库文件名。如果缺省<数据库文件名>或使用“?”号将显示“打开”对话框,用户可以从中选择现有的数据库。②EXCLUSIVE表示以“独占”方式打开数据库,此时,其他用户在同一时刻无法使用该数据库,这是系统的默认设置。③SHARED表示以“共享”方式打开数据库,此时,其他用户也可以在同一时刻使用该数据库。④如果缺省EXCLUSIVE或SHARED参数,则系统按照默认方式打开数据库。命令SETEXCLUSIVEON|OFF可以设置数据库以何种方式打开。2、设置当前数据库VisualFoxPro6.0在同一时刻可打开多个数据库,但在同一时刻仅有一个为当前数据库。在打开多个数据库时,最后一个打开的数据库为当前数据库。使用DBC()函数可返回当前数据库文件名。格式:SETDATABASETO[<数据库文件名>]功能:设置当前数据库。说明:<数据库文件名>用来设置某一个打开的数据库文件为当前数据库。如果缺省,则所有打开的数据库都不是当前数据库,但数据库都没有被关闭。另外,在“常用”工具栏中的“数据库”列表框中显示的是当前数据库的名称。用户也可以在列表框中选择其他已经打开的数据库成为当前数据库。【例3-2】打开数据库和设置当前数据库(JXGL和MYDATA这两个数据库文件已经存在)CLOSE ALLOPEN DATABASE JXGL&&打开数据库JXGL,使其成为当前数据库OPEN DATABASEMYDATA&&打开数据库MYDATA,当前数据库变成了数据库MYDATASET DATABASE JXGL&&设置数据库JXGL为当前数据库3、数据库的关闭当暂时不使用库文件时,应及时关闭数据库以防止意外断电或误操作而破坏数据库文件中的数据。格式1:CLOSEDATABASE功能:关闭数据库和表。格式2:CLOSEALL功能:关闭除“命令窗口”、“调试窗口”、“跟踪窗口”和“帮助窗口”以外的所有文件
3.1.3 数据库的基本操作 在 Visual FoxPro 6.0 中,可以同时打开多个数据库,打开数据库的常用方法有三种:菜 单方式、命令方式和项目管理器方式。 1、数据库的打开 在数据库中建立表或对数据库中的表进行相关操作时,都必须先打开数据库。数据库的 打开,就是指将数据库文件从所在磁盘调入内存。 (1)菜单方式打开数据库 单击工具栏上的“打开”按钮或在系统主菜单的“文件”下拉菜单中选择“打开”命令, 在弹出的“打开”对话框中的“文件类型”下拉列表框中选择“数据库(*.dbc)”,选择数 据库文件所在的文件夹,选择或输入数据库文件名后,单击“确定”按钮打开数据库。 (2)命令方式打开数据库 格式:OPEN DATABASE [<数据库文件名>|?] [EXCLUSIVE|SHARED] 功能:打开一个指定的数据库。 说明: ① <数据库文件名>指定要打开的数据库文件名。如果缺省<数据库文件名>或使用“?” 号将显示“打开”对话框,用户可以从中选择现有的数据库。 ② EXCLUSIVE 表示以“独占”方式打开数据库,此时,其他用户在同一时刻无法使用该 数据库,这是系统的默认设置。 ③ SHARED 表示以“共享”方式打开数据库,此时,其他用户也可以在同一时刻使用该 数据库。 ④ 如果缺省 EXCLUSIVE 或 SHARED 参数,则系统按照默认方式打开数据库。命令 SET EXCLUSIVE ON|OFF 可以设置数据库以何种方式打开。 2、设置当前数据库 Visual FoxPro 6.0 在同一时刻可打开多个数据库,但在同一时刻仅有一个为当前数据库。 在打开多个数据库时,最后一个打开的数据库为当前数据库。使用 DBC()函数可返回当前 数据库文件名。 格式:SET DATABASE TO [<数据库文件名>] 功能:设置当前数据库。 说明:<数据库文件名>用来设置某一个打开的数据库文件为当前数据库。如果缺省,则 所有打开的数据库都不是当前数据库,但数据库都没有被关闭。 另外,在“常用”工具栏中的“数据库”列表框中显示的是当前数据库的名称。用户也 可以在列表框中选择其他已经打开的数据库成为当前数据库。 【例 3-2】 打开数据库和设置当前数据库(JXGL 和 MYDATA 这两个数据库文件已经存在) CLOSE ALL OPEN DATABASE JXGL && 打开数据库 JXGL,使其成为当前数据库 OPEN DATABASE MYDATA && 打开数据库 MYDATA,当前数据库变成了数据库 MYDATA SET DATABASE JXGL && 设置数据库 JXGL 为当前数据库 3、数据库的关闭 当暂时不使用库文件时,应及时关闭数据库以防止意外断电或误操作而破坏数据库文件 中的数据。 格式 1:CLOSE DATABASE 功能:关闭数据库和表。 格式 2:CLOSE ALL 功能:关闭除“命令窗口”、“调试窗口”、“跟踪窗口”和“帮助窗口”以外的所有文件
4、数据库的删除当数据库文件不再需要时,可以将其删除。在删除数据库前,应先将其关闭。格式:DELETEDATABASE<数据库文件名>LDELETETABLES功能:删除指定的数据库文件。说明:若选择参数DELETETABLES,则删除数据库的同时删除其中的数据库表:否则,只删除指定的数据库,其中的数据库表将变成自由表。5、数据库设计器的打开打开数据库文件后往往需要打开数据库设计器进行相关的操作,可以用如下命令打开:格式:MODIFYDATABASEL<数据库文件名>功能:在数据库打开的状态下,使用MODIFYDATABASE命令可以打开数据库设计器。若当前没有打开数据库,使用MODIFYDATABASE<数据库文件名>可以在打开指定数据库文件的同时打开数据库设计器;若缺省数据库文件名,系统弹出“打开”对话框,用户可选择要打开的数据库文件。3.2数据表的设计与建立VisualFoxPro6.0数据表分为数据库表和自由表两种,当某一个表不从属于任何一个数据库的时候就是一个自由表。一个自由表可以被添加到某一个数据库中成为从属于该数据库的数据库表;反之,一个从属于某个数据库的数据库表也可以从该数据库中移出,使其成为自由表,两者可以相互转换。下面以建立“教学管理系统”中所涉及的学生档案表XSDA.dbf和成绩表XSCJ.dbf的设计与建立过程为例,具体介绍VisualFoxPro6.0系统中数据表的设计与建立。学生档案表XSDA.dbf和成绩表XSCJ.dbf分别如表3-1和表3-2所示。表3-1学生档案表XSDA.dbf学号姓名性别出生日期是否团籍贯简历照片男F00001李平12/11/78江苏GenMemo女F陈遥0000212/24/80湖南MemoGen李彤女F0000310/16/77江苏GenMemo刘玲女F0000410/15/78浙江MemoGen男T00005王国胜05/05/82北京Genmemo男T安徽Gen00006王刚04/21/88memo女00007宋海英10/01/86T浙江MemoGen表3-2成绩表XSCJ.dbf学号马哲高等数学英语计算机基础总分0000185.086.092.095. 00000230.077. 067.085.00000396.087.095.095.00000441.054.064.085.00000570.069.076.085.060.00000674.071.085.00000762.046.067.075.03.2.1表结构的设计设计表的结构即定义表的字段个数、字段名、字段类型、字段宽度、小数位数、索引和
4、数据库的删除 当数据库文件不再需要时,可以将其删除。在删除数据库前,应先将其关闭。 格式:DELETE DATABASE <数据库文件名> [DELETE TABLES] 功能:删除指定的数据库文件。 说明:若选择参数 DELETE TABLES,则删除数据库的同时删除其中的数据库表;否则,只 删除指定的数据库,其中的数据库表将变成自由表。 5、数据库设计器的打开 打开数据库文件后往往需要打开数据库设计器进行相关的操作,可以用如下命令打开: 格式:MODIFY DATABASE [<数据库文件名>] 功能:在数据库打开的状态下,使用 MODIFY DATABASE 命令可以打开数据库设计器。 若当前没有打开数据库,使用 MODIFY DATABASE <数据库文件名>可以在打开指定数据库文件 的同时打开数据库设计器;若缺省数据库文件名,系统弹出“打开”对话框,用户可选择要 打开的数据库文件。 3.2 数据表的设计与建立 Visual FoxPro 6.0 数据表分为数据库表和自由表两种,当某一个表不从属于任何一个数 据库的时候就是一个自由表。一个自由表可以被添加到某一个数据库中成为从属于该数据库 的数据库表;反之,一个从属于某个数据库的数据库表也可以从该数据库中移出,使其成为 自由表,两者可以相互转换。 下面以建立“教学管理系统”中所涉及的学生档案表 XSDA.dbf 和成绩表 XSCJ.dbf 的设 计与建立过程为例,具体介绍 Visual FoxPro 6.0 系统中数据表的设计与建立。学生档案表 XSDA.dbf 和成绩表 XSCJ.dbf 分别如表 3-1 和表 3-2 所示。 表 3-1 学生档案表 XSDA.dbf 学号 姓名 性别 出生日期 是否团 员 籍贯 简历 照片 00001 李平 男 12/11/78 F 江苏 Memo Gen 00002 陈遥 女 12/24/80 F 湖南 Memo Gen 00003 李肜 女 10/16/77 F 江苏 Memo Gen 00004 刘玲 女 10/15/78 F 浙江 Memo Gen 00005 王国胜 男 05/05/82 T 北京 memo Gen 00006 王刚 男 04/21/88 T 安徽 memo Gen 00007 宋海英 女 10/01/86 T 浙江 Memo Gen 表 3-2 成绩表 XSCJ.dbf 学号 高等数学 英语 计算机基础 马哲 总分 00001 85.0 86.0 92.0 95.0 00002 30.0 77.0 67.0 85.0 00003 96.0 87.0 95.0 95.0 00004 41.0 54.0 64.0 85.0 00005 70.0 69.0 76.0 85.0 00006 60.0 74.0 71.0 85.0 00007 62.0 46.0 67.0 75.0 3.2.1 表结构的设计 设计表的结构即定义表的字段个数、字段名、字段类型、字段宽度、小数位数、索引和
NULL等特征。1、字段名字段名用来标识字段,它是一个以字母或汉字开头,由字母、汉字、数字、下划线组成的字符序列,字段名中不能包含空格,如:XH、学号、姓名、性别、SCORE_JSJ等。自由表中字段名长度不能超过10个字符,数据库表中字段名长度最多可达128个字符。2、字段类型和宽度字段类型决定了存储在字段中的值的数据类型及取值范围。字段可以通过宽度决定允许存储数据的最大字节数。VisualFoxPro6.0中常用的字段类型包括:(1)字符型:可以是英文字母、汉字、数字等各种字符型文本,所占用的宽度为1~254个字节,如学生档案表XSDA中的“姓名”字段的数据类型可以设置成字符型。(2)货币型:货币单位,如商品的价格。货币型数据的表示方法是在数据前加符号$。(3)数值型:可以是正数或负数,也可以是整数或小数,数据长度最多为20位。如成绩表XSCJ中的“高等数学”字段的数据类型可以设置成数值型。(4)浮点型:功能上类似于“数值型”,其长度在表中最长可达20位。(5)日期型:由年、月、日构成的数据类型,如学生档案表XSDA中的“出生日期”字段的数据类型可以设置成日期型。(6)日期时间型:由年、月、日、时、分、秒构成的数据类型,如学生上课的时间。(7)双精度型:双精度数值类型,一般用手要求精度很高的数据。(8)整型:不带小数点的数值类型,其优点在手比其他数值型数据占据的存储空间要小,它只用4个字节,简记1型。(9)逻辑型:值为“真”(.T.)或“假”(.F.),如学生档案表XSDA中的“是否团员”字段的数据类型可以设置成逻辑型。(10)备注型:不定长的字符型文本,如用于存放个人简历等。备注型数据类型的固定长度为4个字节,但实际长度仅受磁盘存储空间限制,并且所保存的数据信息实际上并不存放在表文件中,而是存放在与表文件同名,扩展名为.FPT的文件中。例如,学生档案表XSDA中的“简历”字段由于每个学生的简历长短不一,若把“简历”字段设置成字符型又恐受到字符型最大长度不能超过254个字节的限制,因此,通常把它设置成备注型字段。(11)通用型:用于标记电子表格、文档、图片等OLE对象。与备注型字段一样,通用型这种数据类型的固定长度也为4个字节,但实际长度仅受磁盘存储空间限制,并且所保存的数据信息也是存放在与表文件同名,扩展名为.FPT的文件中。例如,学生档案表XSDA中的“照片”字段的数据类型可以设置成通用型。3、小数位数只有数值型、双精度和浮点型字段可以规定小数位。小数点和正负号都需在字段宽度中占一位,所以,对于纯小数,其小数位的取值至少应比字段宽度少1位。4、索引指定是否以该字段为关键字建立索引(升序或降序),索引主要用于记录排序。5、NULL指定该字段是否可以接收NULL值(空值),NULL值等价于空值或还没有确定的值,它与O、空串及空格不同。例如,成绩表XSCJ.dbf中的“高等数学”字段,其空值可能表示没有成绩,而数值0表示成绩为0分。.NULL.作为一个值可以给变量赋值,在条件表达式中如遇NULL值,该表达式为假(.F.)。在交互方式中,以Ctrl+O来向一个允许NULL的值的字段中输入NULL值。以学生档案表为例,建立一个数据表XSDA.dbf,其结构如表3-3所示
NULL 等特征。 1、字段名 字段名用来标识字段,它是一个以字母或汉字开头,由字母、汉字、数字、下划线组成 的字符序列,字段名中不能包含空格,如:XH、学号、姓名、性别、SCORE_JSJ 等。自由表 中字段名长度不能超过 10 个字符,数据库表中字段名长度最多可达 128 个字符。 2、字段类型和宽度 字段类型决定了存储在字段中的值的数据类型及取值范围。字段可以通过宽度决定允许 存储数据的最大字节数。Visual FoxPro 6.0 中常用的字段类型包括: (1)字符型:可以是英文字母、汉字、数字等各种字符型文本,所占用的宽度为 1~254 个字节,如学生档案表 XSDA 中的“姓名”字段的数据类型可以设置成字符型。 (2)货币型:货币单位,如商品的价格。货币型数据的表示方法是在数据前加符号$。 (3)数值型:可以是正数或负数,也可以是整数或小数,数据长度最多为 20 位。如成 绩表 XSCJ 中的“高等数学”字段的数据类型可以设置成数值型。 (4)浮点型:功能上类似于“数值型”,其长度在表中最长可达 20 位。 (5)日期型:由年、月、日构成的数据类型,如学生档案表 XSDA 中的“出生日期”字 段的数据类型可以设置成日期型。 (6)日期时间型:由年、月、日、时、分、秒构成的数据类型,如学生上课的时间。 (7)双精度型:双精度数值类型,一般用于要求精度很高的数据。 (8)整型:不带小数点的数值类型,其优点在于比其他数值型数据占据的存储空间要 小,它只用 4 个字节,简记 I 型。 (9)逻辑型:值为“真”(.T.)或“假”(.F.),如学生档案表 XSDA 中的“是否团员” 字段的数据类型可以设置成逻辑型。 (10)备注型:不定长的字符型文本,如用于存放个人简历等。备注型数据类型的固定 长度为 4 个字节,但实际长度仅受磁盘存储空间限制,并且所保存的数据信息实际上并不存 放在表文件中,而是存放在与表文件同名,扩展名为.FPT 的文件中。例如,学生档案表 XSDA 中的“简历”字段由于每个学生的简历长短不一,若把“简历”字段设置成字符型又恐受到 字符型最大长度不能超过 254 个字节的限制,因此,通常把它设置成备注型字段。 (11)通用型:用于标记电子表格、文档、图片等 OLE 对象。与备注型字段一样,通用 型这种数据类型的固定长度也为 4 个字节,但实际长度仅受磁盘存储空间限制,并且所保存 的数据信息也是存放在与表文件同名,扩展名为.FPT 的文件中。例如,学生档案表 XSDA 中 的“照片”字段的数据类型可以设置成通用型。 3、小数位数 只有数值型、双精度和浮点型字段可以规定小数位。小数点和正负号都需在字段宽度中 占一位,所以,对于纯小数,其小数位的取值至少应比字段宽度少 1 位。 4、索引 指定是否以该字段为关键字建立索引(升序或降序),索引主要用于记录排序。 5、NULL 指定该字段是否可以接收 NULL 值(空值),NULL 值等价于空值或还没有确定的值,它与 0、空串及空格不同。例如,成绩表 XSCJ.dbf 中的“高等数学”字段,其空值可能表示没有 成绩,而数值 0 表示成绩为 0 分。.NULL.作为一个值可以给变量赋值,在条件表达式中如遇 NULL 值,该表达式为假(.F.)。在交互方式中,以 Ctrl+0 来向一个允许 NULL 的值的字段中 输入 NULL 值。 以学生档案表为例,建立一个数据表 XSDA.dbf,其结构如表 3-3 所示
表 3-3 “XSDA.dbf”表结构类型宽度字段名小数位数5学号字符型(C)8姓名字符型(C)2性别字符型(C)8出生日期日期型(D)1是否团员逻辑型(L)籍贯10字符型(C)4简历备注型(M)照片4通用型(G)3.2.2表结构的建立确定表结构之后,下一步就要根据表3-3建立表的结构。在创建表时,如果当前没有打开任何数据库,则创建的表就是自由表;否则,创建的就是从属于当前数据库的数据库表。在VisualFoxPro6.0中一般通过表设计器来建立表结构,下面就以学生档案表XSDA.dbf为例,介绍通过菜单和命令两种方式来建立其表结构。1、设置默认目录为了方便用户对文件的操作和管理,一般需要将其存放在一固定文件夹中,可通过设置默认目录的方式来完成。如将默认目录设置成:D:\vfp的方式有如下2种:(1)菜单操作方式①启动VisualFoxPro6.0,在系统主菜单中,选择“工具”下拉菜单中的“选项”命令,在弹出的“选项”对话框中选择“文件位置”选项卡。②在列表中选择“默认目录”选项,并单击“修改”按钮。③在弹出的“更改文件位置”对话框中,勾选“使用默认目录”复选框,并输入“D:vfp”,最后单击“确定”按钮保存设置。(2)命令方式SETDEFAULTTOD:\vfp2、菜单操作方式(1)在系统主菜单中,选择“文件”下拉菜单中的“新建”命令或按“Ctrl+N”键,在弹出的“新建”对话框中选择“文件类型”为“表”,然后单击“新建文件”按钮,弹出“创建”对话框,在“输入表名:”文本框中输入表文件的名称为XSDA,并且确认“保存类型”为“表/DBF(*.dbf)”后,单击“保存”按钮,弹出“表设计器”对话框。(2)在“表设计器”对话框中的“字段”选项卡中依次输入已定义好的表XSDA中的字段名、字段类型和学段宽度等。(3)确定输入无误后,单击“确定”按钮,出现“是否现在输入数据记录”对话框。若在对话框中单击“是”按钮即进入数据(记录)输入窗口,用户可直接输入该表的记录若单击“否”,则系统保存该表的结构,待以后再输入记录。一般选择“是”,依次输入每个学生的记录数据。在数据输入过程中,除备注型字段和通用型字段外其他字段可直接输入数据。备注型字段由于其长度不定,而通用型字段多数是用于存储OLE对象,如图片、声音、电子表格和文字处理文档等,其长度也存在不确定性,因此,这两种字段数据不能同其他类型的字段一样在表“编辑”窗口或“浏览”窗口中直接输入。备注型字段或通用型字段数据的输入方法:
表 3-3 “XSDA.dbf”表结构 字段名 类型 宽度 小数位数 学号 字符型(C) 5 姓名 字符型(C) 8 性别 字符型(C) 2 出生日期 日期型(D) 8 是否团员 逻辑型(L) 1 籍贯 字符型(C) 10 简历 备注型(M) 4 照片 通用型(G) 4 3.2.2 表结构的建立 确定表结构之后,下一步就要根据表 3-3 建立表的结构。在创建表时,如果当前没有打 开任何数据库,则创建的表就是自由表;否则,创建的就是从属于当前数据库的数据库表。 在 Visual FoxPro 6.0 中一般通过表设计器来建立表结构,下面就以学生档案表 XSDA.dbf 为 例,介绍通过菜单和命令两种方式来建立其表结构。 1、设置默认目录 为了方便用户对文件的操作和管理,一般需要将其存放在一固定文件夹中,可通过设置 默认目录的方式来完成。如将默认目录设置成:D:\vfp 的方式有如下 2 种: (1)菜单操作方式 ① 启动 Visual FoxPro 6.0,在系统主菜单中,选择“工具”下拉菜单中的“选项”命令, 在弹出的“选项”对话框中选择“文件位置”选项卡。 ② 在列表中选择“默认目录”选项,并单击“修改”按钮。 ③ 在弹出的“更改文件位置”对话框中,勾选“使用默认目录”复选框,并输入“D: \vfp”,最后单击“确定”按钮保存设置。 (2)命令方式 SET DEFAULT TO D:\vfp 2、菜单操作方式 (1)在系统主菜单中,选择“文件”下拉菜单中的“新建”命令或按“Ctrl+N”键,在 弹出的“新建”对话框中选择“文件类型”为“表”,然后单击“新建文件”按钮,弹出“创 建”对话框,在“输入表名:”文本框中输入表文件的名称为 XSDA,并且确认“保存类型” 为“表/DBF(*.dbf)”后,单击“保存”按钮,弹出“表设计器”对话框。 (2)在“表设计器”对话框中的“字段”选项卡中依次输入已定义好的表 XSDA 中的字 段名、字段类型和字段宽度等。 (3)确定输入无误后,单击“确定”按钮,出现“是否现在输入数据记录”对话框。 若在对话框中单击“是”按钮即进入数据(记录)输入窗口,用户可直接输入该表的记录; 若单击“否”,则系统保存该表的结构,待以后再输入记录。一般选择“是”,依次输入每个 学生的记录数据。 在数据输入过程中,除备注型字段和通用型字段外其他字段可直接输入数据。备注型字 段由于其长度不定,而通用型字段多数是用于存储 OLE 对象,如图片、声音、电子表格和文 字处理文档等,其长度也存在不确定性,因此,这两种字段数据不能同其他类型的字段一样 在表“编辑”窗口或“浏览”窗口中直接输入。 备注型字段或通用型字段数据的输入方法: