当前位置:文档之家› VFP第三章表

VFP第三章表

VFP第三章表
VFP第三章表

第三章表的创建和使用

对于关系型数据库来说,数据均以二维表的形式被保存在表中。在VFP中表分为两种类型:数据库表和自由表,数据库表是指从属于某个数据库的表(简称―库表‖),而自由表是指不从属于任何数据库的表。与自由表相比,数据库表具有自由表的所有特性外,还具有数据库管理的其他功能。

3.1 表结构

表(Table)是指存储放在磁盘文件中的二维表,一张表保存为一个表文件(.DBF)。表文件的文件名必须遵守Windows系统对文件名的约定,并且不可用A~J中的单个字母作文件名。

表中的列称为字段(Field)。字段规定了数据的特征。例如,学生表中学号、姓名、性别和系名就是字段。每张表最多

可以有255个字段。

表的行叫做记录(Record),每条记录表示一个实体。记录是多个字段的集合。同一张表的每一个记录都有相同的字段。

3.1.3 表结构的创建

表创建后,系统以扩展名.dbf保存表文件。如果表中有备注字段或通用字段,则自动地产生与表名相同但扩展名为.fpt的备注文件

2. CREATE TABLE-SQL

CREATE TABLE-SQL命令的一般格式是:CREATE TABLE 表文件名(字段名1 字段类型[(字段宽度[,小数位数])][NULL|NOT NULL]

[,字段名2 字段类型[(字段宽度[,小数位数])]]……)

说明:本书中命令的表示约定如下:垂直分隔符―|‖分隔的项,表示多项中只能选

择一个。斜体字是占位符,在实际使用中要用具体的信息代替。方括号[ ]所括的表示是可选项,[ ]本身不是命令的一部分。省略号―……‖表示参数可以有任意多项。

CREATE TABLE-SQL

其中字段类型必须要用字母表示。例如,学生表结构的创建可以使用以下命令:CREATE TABLE XS2 (xh C(6),xm C(8),xb C(2),zydh C(6),ximing C(18))

则XS2表的结构与XS表一模一样。这个命令主要用在程序代码中。

创建JS表:CREATE TABLE JS (GH C(5), XM C(8),XB L,XDH C(2),GZRQ D, CSRQ D, JBGZ N(7,2),JL M)

3. 使用Null 值

在建立新表时,可以指定表字段是否接受null 值。在―表设计器‖的―字段‖选项卡中选定或清除字段的Null 列。当Null 列被选定时,该字段接受null 值。

或者,在CREATE TABLE 命令中使用NULL 和NOT NULL 子句。

3. 使用Null 值

例如,以下命令可以创建ZG表,其中的gh (工号)和xm(姓名)字段不允许为null 值,而csrq(出生日期)字段则允许为null 值:

CREATE TABLE zg (gh C(6) NOT NULL, xm C(8) NOT NULL, csrq D NULL)

也可以用SET NULL ON 命令控制表字段中是否允许null 值。

3.1.3 修改表结构

建立表之后,还可以修改表的结构。可能要添加、更改或删除字段的名称、宽度、数据类型等。

修改XS表的结构:

USE XS && 打开XS表

ALTER TABLE TableName ADD|ALTER [COLUMN] FieldName FieldType

[(nFieldWith [,nPrecision])] 或ALTER TABLE TableName DROP[COLUMN] FieldName

ALTER TABLE TableName RENAME COLUMN FieldName1 TO FieldName2 ADD增加字段,ALTER修改字段,DROP 删除字段,RENAME字段改名

ALTER TABLE - SQL

1)添加字段:可使用ALTER TABLE命令的ADD [COLUMN]子句。例如,可以使用以下命令把―BJMC‖(班级名称)字段添加到XS表中:

ALTER TABLE XS ADD COLUMN BJMC C(12)

ALTER TABLE - SQL

2)重命名字段:可使用ALTER TABLE命令的RENAME COLUMN子句。例如,可以使用以下命令重新命名XS表的―BJMC‖字段为―BJ‖:

ALTER TABLE XS RENAME COLUMN

BJMC TO BJ

ALTER TABLE - SQL

3)删除字段:可使用ALTER TABLE命令的DROP[COLUMN]子句。例如,可以使用以下命令从XS表中删掉―BJ‖字段:ALTER TABLE XS DROP COLUMN BJ

需要注意:在修改宽度、类型时,是否会引起数据益出、丢失;在修改字段名时,是否会引起数据的丢失以及该字段是否在其他位置被引用。

3.2 表的打开与关闭

VFP 在使用一个表时,首先必须把表打开。一个打开的表必须占用一个工作区。

3.2.1 工作区

所谓工作区是指用以标识一个打开的表的区域。打开一个表时,必须为该表指定一个―工作区‖。每个工作区有一个编号。称为工作区号,其编号范围为1~32747(前10个工作区号也可以用字母A~J表示)如果工作区中已有打开的表,可以

用表的―别名‖作为工作区号。

默认第一次打开又没有设置别名,那么别名就是表名。以后看到别名大多数都是指的表名

一个工作区中只能打开一个表。如果在一个工作区中已经打开了一个表,再在此工作区中打开另一个表时,前一个表将自动被关闭。但可以同时在多个工作区中打开多个表。一个表也可以在多个工作区中多次被打开。

VFP 正在使用的工作区称为当前工作区,即默认的工作区。当通过界面交互式地或用命令进行有关表的处理操作时,如果不指定其他工作区,则其作用对象是当前工作区中的表。VFP启动后,系统默认的当前工作区号为1。

选择工作区格式是:

SELECT 工作区号|别名

例如,JS表已在2号工作区中打开,当前

工作区为1。要把JS表所在工作区选为当前工作区的命令是:

SELECT JS

SELECT 2

3.2.3 表的打开和关闭

在―项目管理器‖窗口中选择需要打开的表后单击―修改‖或―浏览‖按钮时也会自动地打开。表的这种打开是在当前未被使用的最小工作区中打开,且该工作区为当前工作区。

(2).使用命令打开表

在―命令‖窗口或程序中,可以使用USE命令打开一张表。该命令的基本语法格式:USE TableName[IN nWorkArea|cTableAlis] [AGAIN][ALIAS

cTableAlias][NOUPDATE]

IN子句用于指定表在哪个工作区中打开,缺省时为当前工作区;AGAIN用于说明该表再次打开,即表在多个工作区中同时被打开;ALIAS子句用于定义表的别名,

缺省时表的别名一般与表名相同;NOUPDATE指定表打开后不允许修改其结构和数据。

例:下列命令用于打开表

可以使用如下命令在当前工作区中打开一个表:

USE 表文件名

如果要在一个未被使用的区号最小的工作区中打开一个表,可以使用如下命令:USE 表文件名IN 0 或者

SELECT 0

USE 表文件名

在最小未用工作区中打开ZG表,并且不允许修改

USE ZG IN 0 NOUPDATE

一个表可以在多个工作区中被多次打开。方法是在再次打开同一个表时,必须在USE命令后面加上AGAIN子句。例如,USE xs

SELECT 0

USE xs AGAIN IN 5 &&工作区5别名E

USE xs AGAIN IN 15 &&工作区15别名W15

工作区中表的别名

表的别名是对工作区中打开的表的一个临时标识。

在工作区中打开表时,可以为该工作区赋予一个自定义的别名。方法是使用带别名的USE命令:

USE 表文件名ALIAS 别名

例如,打开XS表,并冠以―STUDENTS‖别名,命令是:

USE xs ALIAS STUDENTS

工作区表的别名*

如果在打开表时没有自定义别名,则系统默认以表文件名作为别名。例如,用USE xs命令打开xs表,则xs表的别名为―xs‖。用ALIAS([工作区号])函数可以取得指定

工作区表的别名。如果指定的工作区中尚未打开表,则该函数返回空字符串。用SELECT([别名])函数可以测试指定别名的工作区区号。

别名

在打开表时如果未利用ALIAS子句指定别名,则别名与表名相同,但如果一张表同时在多个工作区中打开均未指定别名,则在第一次打开的工作区中,别名与表名相同,其他工作区中

用A~J以及W11~W32747表示。

当前表打开的情况以及表的别名等,用户可以在‖数据工作期―窗口中进行查看。

2. 表的关闭

如果在一个工作区中已打开了一个表,当在此工作区中再次打开另一个表时,先前的表将自动被关闭。另外,可以通过界面操作或命令关闭打开的表。

(1)关闭当前工作区中的表的命令是:

USE

(2)关闭非当前工作区中的表的命令是:USE IN 别名|工作区或者SELECT 别名|工作区

USE

(3)关闭所有工作区中的表的命令是:CLOSE ALL 或者CLOSE DATABASES 或者CLOSE TABLES

(4)在退出VFP 系统时,所有的表都将被关闭。

3.2.4表的独占与共享使用

VFP是一个多用户的开发环境。网络上的多个用户可以在同一时刻访问一张表。这种一张表可以同时被多个用户访问的情况,就是表的共享使用。反之当一个表只能被一个用户打开时,称为表的独占使用。

1.设置独占与共享打开表的默认状态VFP在默认状态下,表是以独占方式打开

的。当打开一个表时,如果没有指定用何方式打开,即用系统默认的方式打开。系统的默认打开方式可以通过―工具‖菜单中的―选项…‖来设置。

1.设置独占与共享打开表的默认状态

或使用SET EXCLUSIVE命令来设置:SET EXCLUSIVE OFF &&设置―共享‖为默认打开方式

SET EXCLUSIVE ON &&设置―独占‖为默认打开方式

2. 强行用一种方式打开表

在打开表时,亦可以用显式指定的独占或共享方式打开。

在―打开‖窗口的右下角有―独占‖复选框,打―√‖表示独占,否则,表示共享。在―打开‖对话框或―使用‖窗口中也有同样的选择。

强行用一种方式打开表

在使用命令打开表时,可以加子句

―SHARED‖(共享)或―EXCLUSIVE‖(独占)来指定打开方式。例如,

USE XS SHARED &&以共享方式打开XS表

USE JS EXCLUSIVE &&以独占方式打开JS表

说明:改变SET EXCLUSIVE的设置并不改变已经打开表的状态。另外,一个表同时被多次打开时,只以第一次的打开方式为准。例如,第一次是以独占方式打开一个表,则在另一个工作区中再次打开该表时,即使指定SHARED方式,系统仍将以独占方式打开。

3.3.1 记录的输入

⒊使用INSERT-SQL命令追加记录

⒋使用APPEND与APPEND FROM命令追加记录

APPEND BLANK,可以追加新记录。

⒊使用INSERT-SQL命令追加记录

在程序中向一张表中追加记录,通常使用INSERT-SQL命令。命令格式如下。INSERT INTO TableName[(FieldName1 [,FieldName2, … …])\] VALUES (eExpression1[,eExpression2, … …])

例如:可以用以下命令向XS表中插入一条新记录:

INSERT INTO XS(xh,xm,xb,ximing) VALUES ("950106","高山","男","")

⒋使用APPEND与APPEND FROM命令追加记录

APPEND [BLANK] [IN nWorkArea| cTableAlias]

其中,BLANK用于说明向表中追加一条空记录,缺省时系统向表中追加一条空记录,并打开浏览窗口以便用户输入该记录的数据。

常用的可追加的文件类型有表文件.dbf、文本文件.txt(DELIMIED)和Excel文件.xls。

使用APPEND FROM 命令从其他文件中导入数据。

APPEND FROM FileName [DLIMITED|XLS]

3.3.3 记录的定位

当用户向表中输入数据时,VFP为每个记录都按输入顺序指定了‖记录号―。第一个输入的记录,其记录号为1,依次类推。

⒈`记录指针

当一个表文件被打开后,系统中自动生成三个控制标志:记录的开始标志、记录指针标志、记录的结束标志,如图。记录的开始标志介于表结构和记录之间,前面是表结构,后面是第一条记录。

记录指针用于指示当前处理的记录位置,记录指针指向的那个记录称为当前记录。记录的结束标志是整个表记录结束的标志。

记录指针是一个非常重要的概念。它是VFP 系统内部的一个指示器,可以将记录指针理解为保存当前记录号的变量。每当打开一个表文件时,记录指针总是指向第一条记录。在进行数据处理时,经常要移动记录指针,使记录指针指向用户所需要操作的那个记录,这个过程即是记录的定位。测试当前记录指针的

值可用函数RECNO()进行测试。

也可以从VFP主窗口的状态栏上看出记录指针的值。

在处理记录的过程中,记录指针会不停地移动。记录指针是否指在记录的有效范围内,可以BOF()函数和EOF()函数进行测试。当记录指针指向记录的开始标志时,BOF()函数值为.T.,否则为.F.。当记录指针指向记录结束标志时,EOF ()函数的值为.T.,否则为.F.。

表3-2列出了一张表被打开后,未作记录移动操作时RECNO()、BOF()和EOF ()函数的值。记录指针的初始值总是1,不可能为0或负数。

⒉记录的定位

记录的定位即记录指针的定位。定位方式可分为记录指针的绝对定位、记录指针的相对定位、条件定位。指针的绝对定位是指把指针移动到指定位置;相对定位是指把指针从当前位置开始,相对于当前记录向前或向后移动若干条记录的位置;条件定位是指按照一定的条件自动地在整张表中查找符合该条件的记录,找到则将指针定位在该记录上,找不到,则定位到整张表的末尾EOF()。

⑵使用命令进行记录定位

对于在当前工作区打开的表,用户可以使用GOTO命令进行记录的绝对定位,使用SKIP 命令进行记录的相对定位,使用LOCATE命令进行条件定位。

命令格式:GOTO nRecordNumber [IN nWorkArea| IN cTableAlias]|TOP|BOTTOM

SKIP [nRcords][IN nWorkArea|cTableAlias]

LOCATE FOR lExpression[Scope]

其中nRecordNumber必须在表记录的有效范围内;TOP指第一条记录;BOTTOM 指最后那条记录;记录数nRecord指记录指针需要移动的记录个数,缺省时为1。条件表达式lExpression用于表示记录的定位条件;范围Scope指进行条件的范围。

例:13下列命令是记录定位的示例CLOSE TABLES ALL

USE XS

GOTO 4

GOTO TOP

SKIP 4

SKIP -2

LOCATE FOR XM="李刚"

在使用命令定位时,需注意:

①如果从第一个记录向上移动一个记录,指针将指向记录起始标志,BOF()函数将返回(.T.),RECNO()函数返回值为1。

VFP 6.0数据库基本操作

实验七、VFP 6.0数据库基本操作 一、实验目的及要求 a) 掌握VFP 6.0数据库系统的启动与退出 b) 掌握VFP 6.0数据库系统菜单的基本操作与使用 c) 掌握操作VFP 6.0命令窗口方法,以及基本命令使用。 d) 掌握常量和变量的命名与使用 e) 掌握表达式的分类与各表达式的运用。 二、实验内容及步骤 a) 在Windows“开始”菜单中的程序组中选择“VFP 6.0 for windows”菜单即可。要退出VFP 6.0系统,可在命令窗口中输入QUIT命令,也可在文件菜单中选择退出选项。 b) VFP 6.0数据库系统菜单的操作类似于Windows菜单的操作。 c) 数据库中,常量分为字符型常量、数值型常量、逻辑型常量、日期型常量,注意它们的格式,变量有字段变量和内存变量 i. 给内存变量赋值的简单命令: 格式1:store <表达式> to <内存变量表> 格式2:<内存变量>=<表达式> 练习:? store 32 to x ,y ,z ?? store .t. to yn,dd ?? a=3*3+5/2 ? store “小芳”to xm 理解其含义。 例1:建立4个变量,分别打印各种计算结果。 任务数据库的命令计算结果 ①建立aa1=12.5 Aa1=12.5 ②建立aa2=15 aa2=15 ③建立aa3="ABCD" aa3="ABCD" ④建立aa4=.t.aa4=.t . ⑤输出aa1是否大于aa2的结果 ? aa1>aa2 .F. ⑥输出是否aa1小于aa2和aa4的结果? aa1=20 .or. zc<>“讲师” ? gl>=20 .and. zc<>“讲师” ? gl>=25 .or. .not.gz<=100 .and. zc=“讲师” ? gl>=25 .or.gz<=100 .and..not. zc=“讲师” ? (gl>25 .or. gz<=100).and..not.zc=“讲师” 三、注意事项 a) 给变量命名时,我们一定要遵循命名规则:变量可以是字母、汉字、数字、以及下划线组成,

《VFP数据库》试题及答案

****学院学年学期期末考试试题 (考试时间:120分钟) 1、请使用钢笔或圆珠笔进行答题,字迹要清楚,工整(有特殊要求需要用其他笔答题的试卷例外); 2、请在答卷前将密封线内的项目用正楷填写清楚,如所填写的信息不全造成无法登分,则后果自负; 3、客观题的答题要求写在指定的空处,主观题的答题须写在成教院统一印制的答题纸上,其他纸 一、选择(每小题2分,共70分) 1.VFP是一种________ 模型的数据库管理系统。 选择:A. 层次_ B. 网络_C. 对象_ D. 关系答案:D 2.目前三种基本的数据模型是________ 。 选择:A. 层次模型、网络模型、关系模型_ B. 对象模型、网络模型、关系模型_C. 网络模型、对象模型、层次模型_ D. 层次模型、关系模型、对象模型答案:A 3.VFP系统中,表的结构取决于___________ 。 选择:A. 字段的个数、名称、类型和长度_ B. 字段的个数、名称、顺序_C. 记录的个数、顺序_ D. 记录和字段的个数、顺序答案:A 4.数据库管理系统是________ 。 选择:A. 教学软件_ B. 应用软件C. 计算机辅助设计软件_ D. 系统软件答案:D 5.在定义表结构时,以下__________ 数据类型的字段宽度都是定长的。

选择:A. 字符型、货币型、数值型_ B. 字符型、货币型、整型_C. 备注型、逻辑型、数值型_ D. 日期型、备注型、逻辑型答案:D 6.下列说法中正确的是_____。 A.数据库打开时,该库中的表将自动打开 B.当打开数据库中的某个表时,该表所在的数据库将自动打开 C.如果数据库以独占的方式打开,则库中的表只能以独占方式打开 D.如果数据库中的某个表以独占方式打开,则库中的其它表也只能以独占方式答案:B 7.VFP系统中,使用查询设计器生成的查询文件中保存的是_______。 A. 查询的命令 B. 与查询有关的基表 C. 查询的结果 D. 查询的条件答案:A 8.对于创建新类,VFP提供的工具有:_____。 选择:A. 类设计器和报表设计器_ B. 类设计器和查询设计器_C. 类设计器和表单设计器D. 类设计器答案:C 9.VFP的循环语句有_____。 选择:A. DO WHILE,FOR和SCAN _ B. DO WHILE ,FOR 和LOOP _C. FOR,SCAN和LOOP _ D. DO CASE 和DO WHILE _ 答案:A 10.彻底删除记录数据可以分两步来实现,这两步是______。 选择:A. PACK和ZAP B. PACK和RECALL_C. DELETE和PACK D. DELE和 RECALL _ 答案:C 11.表之间的"临时性关系",是在两个打开的表之间建立的关系,如果两个表有一个关闭 后,则该"临时性关系" ______。 选择:A. 转化为永久关系B. 永久保留C. 临时保留D. 消失答案:D 12.下列控件均为容器类的是_____。

VFP操作命令练习( 第二章)-

VFP操作命令练习 一、用适当的内容填空。 1. 数据库文件扩展名是__________,通常用_______________创建和修改数据库。 2. 在VFP中,打开数据库设计器的命令是____________________。 3. 在VFP中,用字母、汉字、数字或下划线命名字段,但不能用__________开头。 4. 基于Visual FoxPro,自由表中不能创建的索引类型是__________ 。 5. 不带条件和范围的VFP命令Delete将删除指定表中的__________记录。 6. 在VFP中,可以为数据库表设置字段有效性规则,该“规则”是一个__________表达式, “信息”是一个__________表达式。 7. 在VFP中,使数据库表变为自由表的命令是____________________。 8. 每一个打开的表文件都有一个用来记载记录当前位置的指针,该指针指向的记录称为__________。 9. 在Visual FoxPro中,建立普通索引的作用之一是提高__________速度。 10. 在Visual FoxPro数据库的每个表中只能有一个__________索引。 11. 在VFP中指定字段或表达式中不允许出现重复值的索引是____________________ 12. 在VFP中,同一个表的多个索引可以创建在一个索引文件中,索引文件名与相关的表同名,索引文件的扩展名是__________,这种索引称为__________。 13. 在VFP中,表设计器的“字段”选项卡中创建的是__________索引。 14. 在VFP中,为数据表建立性别(C,2)和年龄(N,2)的复合索引,正确的索引表达式为____________________。 15. 用命令“Index On 姓名Tag name Unique”建立索引,其索引类型是__________索引,索引文件类型是__________文件。 16. 在VFP中,Index命令无法建立的索引是__________索引。 17. 在VFP系统中,用户可以使用Open Database命令打开多个数据库,但在某一时刻只有一个__________数据库。 18. 在VFP中所谓自由表就是那些不属于任何__________的表。 19. 在VFP中参照完整性规则包括__________、__________和【__________。 20. 在VFP中选择一个没有使用的、编号最小的工作区的命令是__________。 21. 在VFP中,使用数据库设计器为两个表建立联系,首先应在父表中建立__________索引,在子表中建立__________索引。 22. 基于Visual FoxPro,执行GO BOTTOM之后,EOF()的值是__________。 23. 存储于数据库中的表称为__________,其在磁盘上以独立的文件保存,扩展名为__________,将其从数据库中移出,其可以变为__________。 24. 在VFP数据类型的描述中,用字母__________表示字符类型,用字符__________表示数值类型,用字母__________表示日期类型,用字母__________表示逻辑类型。 25. 表中备注型字段的字母表示为__________ ,备注型字段用来保存__________信息,建立具有备注类型字段的表将同时建立一个和表文件主名相同,扩展名为

vfp6.0第二章【数据库和表】

第二章.数据库和表 必备的知识点 1.二维表的每一列就是一字段(属性),每一行叫做一条记录(元组)。 一张表中最多255个字段,10亿条记录、 2.字段的属性、 每个字段有4个属性:字段名,字段类型,字段宽度,小数位数 字段名的命名:只能包含字母,数字,下划线,汉字;不能含有空格,不能以数字开头,不能以下划线开头。 字段变量的命名和内存变量的命名区别:内存变量可以下划线开头。 字段类型:

考点: 字符型字段最大的宽度是254个字节,127个汉字;日期型的宽度是8个字节,备注型是4个字节,备注型主要用于奖惩情况,个人简介,如果存储OLE对象,照片图片数据则应该设置为通用型。 (一)表的扩展名 .dbf ,表的备注文件的扩展名 .fpt 一个表如果有备注型字段,那么VFP会自动产生一个与表同名的备注文件。 不管备注型字段有多少个,一个表只有一个备注文件。 填写备注字段的内容快捷键:Ctrl+PageDn 或者双击 请问xsda表的备注文件名是xsda.fpt 。 (二)表分为两个部分表结构和表记录(数据)。 (三)表分为数据库表和自由表 数据库表:属于某个数据库的表。 自由表:不属于任何数据库的表。 在某一时刻,一张数据库表只能属于一个数据库。 数据库表和自由表可以相互转换

数据库表和自由表的区别: 1.数据库表支持长字段名(128个字符,64个汉字)。自由表的字段名不超过10个字符。 2.只有数据库表才能设置字段的有效性。 3.只有数据库表才能设置主索引。 create 表名 如:create d:\xs\xsda 打开表设计器创建表。 SQL命令创建表(无需打开表设计器) create table d:\xsda (姓名C (8),性别C (2),出生日期D ,入学成绩N (5,1),住校否L,照片G) use d:\abc in 0 alias bm noupdate again in 0在最小的暂未使用的工作区打开 alias bm 为打开的表到别名 noupdate 不允许修改表的数据,指定为只读 again 再一次打开已经在其它工作区打开的表 exclusive 独占方式。默认的方式 select <工作区号|别名> select 5 &&选择5号工作区为当前工作区。 use xsda in 1 use xscj in 2 alias cj select 2 (或者select cj ) 补充:可以使用alias 指定表的别名,如果没有使用alias指定别名,表的名字就是别名。

vfp数据库知识点

试题结构:选择30题,每题1分;填空每空一分,共20分;判断10题,每题1分;程序改错10个错,每个1分;表单程序综合填空共10个空,每空1分。 1.创建表单、数据库、项目、报表、标签、菜单等对象会生成哪些文件? 2.二维表中主关键字、候选关键字、外部关键字是何含义? 3.数据库中常用数据模型有哪几种,各有何特点? 4.专门的关系运算有哪几种,是何含义? 5.Select 0 与select(0)各有何功能? 6.输出日期型数据时,可以使用哪些命令设置日期的格式? 7.日期运算符有哪些,各有什么限制? 8.常用函数的使用(数值型、日期型、字符型、数据转换类)。 9.表中创建索引时,如果索引设计多个字段时,索引表达式如何表示。 10. 索引有哪些类型,各有何特点? 11. 索引文件有哪些类型,各有何特点? 12. 概念模型中实体集之间关系的类型有哪几种,如何区分? 13. 数学表达式如何转换为VFP中的算术表达式?(运算符的表示、函 数的使用) 14. 字符常量、日期常量、日期时间型常量、逻辑型常量的定界符是 什么? 15. 参照完整性规则有哪几种,每一种规则的选项有哪几种? 16. 数据库表与自由表的联系与区别/ 17. 各种类型常量的表示。 18. 为使定义的变量具有不同的作用域,分别使用哪些命令来说明变 量。 19. 对象的属性、事件、方法如何理解。 20. Select语句中简单查询,分组查询的使用,聚集函数的使用 (count,sum,max,min) 21. Update ,insert into及delete from语句的使用。 22. 常用容器类的集合属性与计数属性分别是什么? 23. 报表中带区有哪些类型? 24. 常量有哪些类型,如何表示? 25. 变量赋值的方法有哪几种。 26. 数据库中可以包含哪些类型的对象 27. 记录定位方式有哪几种,分别用什么命令实现?

计算机vfp表操作指令

计算机vfp表操作指令 一.表结构的操作 1.创建表结构 命令1:CREATE [路径][表名] 例子:在A盘创建GZ2数据表。 CREATE A:GZ2 命令2:CREATE [新表名] FROM [旧表名] 例子:在A盘由GZ1创建GZ3数据表。 CREATE A:GZ3 FROM A:GZ1 命令3:COPY STRUCTRUE TO [路径][表名] 例子:在D盘生成一个与正在使用的表结构相同的新表文件MY COPY STRUCTRUE TO D:\MY 2.表结构的显示 命令:LIST STRUCTURE DISPLAY STRUCTURE 例子:显示当前数据表在结构。 LIST STRUCTURE 3.表结构的修改 命令:MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构 说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。 例子:修改当前数据表的结构。 MODIFY STRUCTURE 二.表文件的打开和关闭 1.打开 命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE] 例子:打开A盘GZ1数据表。 USE A:\GZ1 例子:以独占方式打开当前表文件XX USE XX EXCLUSIVE 2.关闭 命令:USE 例子:关闭当前打开的表。 USE 三.记录指针的定位 1. 绝对定位 命令:GO[TO] n|TOP|BOTTOM 说明: n定位到第n条记录,TOP定位到最上面一条记录,BOTTOM定位到最下端一条记录 2.相对定位 命令:SKIP [+|-]n

说明:它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一条记录。 四.表数据的添加 1.记录的追加 命令:APPEND [BLANK] 例子:向当前数据表尾部追加记录。 APPEND 例子:向当前数据表尾部追加一条空记录。 APPEND BLANK 2.记录的插入 命令:INSERT [BLANK][BEFORE] 例子:在当前记录后插入一条空记录。 INSERT BLANK 例子:在第3条记录前插入一条记录。 GO 3 INSERT BEFORE 3.用复制方法建新表记录 命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件] 例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。COPY TO A:GZ2 FOR 应发合计>1000 4.从其他表取数据 命令:APPEND FROM 表名 [FOR 条件] 例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。APPEND FROM GZ1 FOR 应发合计>1000 五.表记录的显示 1.浏览显示 命令:BROWSE [FIELDS 字段表][FOR 条件] 例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。 BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000 说明:此命令的结果以浏览窗口的形式出现,具有修改功能。 2.显示输出 命令:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>] 说明:(1)命令带OFF参数表示不显示记录号 (2)范围指定对哪些记录进行操作,(范围包括:RECORD n :第几号记录;NEXT n:当前记录开始的几个记录;REST:自当前记录开始至文件末尾的所有记录;ALL 所有的记录。不选范围则隐含范围为ALL) (3)字段名表指在结果中需要出现的字段名,字段名与字段名之间用逗号分隔。不带时指显示所有字段。 (4)WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。

VFP数据库试卷(带答案)

《VFP数据库》试卷 1.下列表达式的结果为真的是()。 A.'中国'<='' B.'电脑'$'电脑报' C.2*4.2<=11%6 D.'电脑报'=='电脑' 2.视图不能单独存在,它必须依赖于()。 A.视图B.查询C.数据表D.数据库 3.有如下SQL select语句: select * from 成绩where 数学between 80 and 100 与该语句等价的SQL语句是()。 A.select * from 成绩where 数学<100 and 数学>80 B.select * from 成绩where 数学>=100 and 数学<=80 C.select * from 成绩where 数学>100 and 数学<80 D.select * from 成绩where 数学<=100 and 数学>=80 4.SQL语句中修改表结构的命令是()。 A.alter table B.modify table C.alter structure D.modify structure 5.SQL中,select语句的功能是()。 A.定义B.查询C.修改D.控制 6.只有数据表中有而自由表中没有的索引类型是()。 A.普通索引B.唯一索引C.主索引D.候选索引7.要将当前数据库的“照片”字段删除,应使用()命令。 A.delete B.zap C.modify structure D.pack 8.一个工作区最多可以打开()个表。 A.32767 B.1 C.2 D.3 9.查询设计器的“筛选”选项卡,对应SQL语句的子句是()。 A.join on子句B.where子句 C.group by子句D.having子句 10.字符串长度函数len("学英语从ABC开始")的结果是()。 A.9 B.18 C.15 D.16.6 11.要为“成绩”表的所有学生的语文成绩增加10分,正确的SQL命令是()。 A.replace 成绩set 语文=语文+10 B.update 成绩set 语文=语文+10 C.edit 成绩set 语文=语文+10 D.change 成绩set 语文=语文+10

VFP数据库练习题4

VFP数据库(4) 一、填空题 1.在报表中通常用来获得当前页码的变量是。 2.表示空值的关键字是。 3.索引文件分为单索引和复合索引,其扩展名分别为idx和。 4.使用locate命令顺序查找,可用found()和函数测试是否找到。 5.打开数据库xs.dbc的命令是。 6.在查询设计器中设置查询条件,应在选项卡中进行。 7.分支语句有简单分支、选择分支和。 8.表单的组合框有两种类型、分别为下拉列表框和。 9.在VFP中,关闭系统菜单的命令是。 10.按变量的作用域可分为和局部变量。 二、单项选择题 1.在VFP命令中,各单词间的分隔符是() A.分号 B.空格 C.逗号 D.以上都不对 2.X和Y为日期型,H为数值型,不可以进行的运算是() A.X+Y B.X-H C.X-Y D.X+H 3.表达式mod(21,6)的值为() A.0 B. 1 C. 3 D.不确定 4.备注型字段的数据宽度是4字节,它用来存放()。 A.指向备注的具体内容 B.指向.fpt文件的文件名 C.指向.dbf文件的指针 D.指向.fpt中文字块的指针 5.建立查询时,以下不能作为排序字段的是() A.字符型 B.通用型 C.逻辑 D.日期型 6.下列不能作为查询输出目标的是()

A.表 B.报表 C.视图 D.标签 7.逻辑删除rs表中,所有年龄大于50的SQL语句是() A.Select from rs for 年龄>50 B.Delete from rs where 年龄>50 C.Delete from rs where 年龄>50 D.Select 年龄from rs where 年龄>50 8.以下关于多分支语句do case…endcase的叙述,正确的是() A.当有多个表达式为真时,执行最后一个表达式值为真之后的程序段 B.当有多个表达式为真时,执行第一个表达式值为真之后的程序段 C.当有多个表达式为真时,执行多个表达式值为真之后的程序段 D.Do case…endcase语句,可以有多个程序段被执行 9.在表单控件中,即可用于接收数据,又可作为编辑现有数据的控件是() A.标签 B.文本框 C.编辑框 D.B、C均可 10.在表单运行中,如复选框变为选中状态,其value属性值是() A. 1 B. 2 C.0 D.不确定 11.下列不能用记事本编辑的文本是() A.abc.dbc B.abc.prg C.abc.qpr D.A、B均不能 12.下列()选项可以实现使当前的命令按钮不可用。 A.This.default=.F. B.This.default=.T. C.This.enabled=.F. D.This.enabled=.F.

VFP数据库系统开发实例(附图)

VFP基本数据库系统开发实例(附图) 西南大学计信院 导学 在Visual Foxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。 11.1 系统需求分析 传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能: 1. 数据需求 通过调查,总结出该应用程序对数据的需求大致有如下这些: (1) 学生信息 包括学号,姓名,性别,出生日期,系科,备注,照片 (2) 管理员信息 包括用户名,密码,管理员姓名,权限,说明信息 (3) 学生成绩信息 主要包括学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否 (4) 课程信息 包括课程编号,课程名称 2. 功能需求 功能分析的任务是了解用户对数据的处理方法和输出格式。 (1) 基本数据录入 基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。 (2) 查询 能够查询出学生成绩,和补考人员名单等。 (3) 学生和管理员信息的维护 要求能够根据需要对学生和管理员信息进行维护修改等。 (4)成绩的审核 根据学生的总评成绩审核学生的计算机成绩是否通过。 (5) 打印输出 打印学生成绩表和补考人员名单等。 11.2 系统设计 1. 程序总体结构设计 在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分

vf表单控件的使用说明

一、标签 标签能够显示多个字符构成的文本,用于设计表单上所需的文字性提示信息。标签和大多数控件的不同点在于运行表单时不能用《tab》键来选择标签。 常用的标签属性及其作用如下。 1、Caption:确定标签处显示的文本。 2、Visible:设置标签可见还是隐藏。 3、AutoSize:确定是否根据标签上显示文本的长度,自动调整标签大小。 4、BackStyle:确定标签是否透明。 5、WordWrap:确定标签上显示的文本能否换行。 6、FontSize:确定标签上显示文本所采用的字号。 7、FontName:确定标签上显示文本所采用的字体。 8、ForeColor:确定标签上显示的文本颜色。 二、命令按钮和命令按钮组 在各种窗口或对话框中几乎都要使用一个或多个命令按钮。一旦用户单击一个命令按钮,就可实现某种规定的操作。例如,各种对话框中的“确定”按钮,当用户单击时将结束对话框的操作。 VisualForPro中的命令按钮控件同样用于完成特定的操作。操作的代码通常放在命令按钮的“单击”事件(即Click Event)代码中。这样,运行表单时,当用户单击命令按钮时便会执行Click事件代码。如果在表单运行中,某个命令按钮获得了焦点(这时,这个命令按钮上会比其他命令按钮多一个线框),则当用户按下《Enter》键或空格键时,也会执行这个命令按钮的Click时间代码。 常用的命令按钮属性及其作用如下: 1、Caption:设置在按钮上显示的文本。 2、Default:在表单运行中,当命令按钮以外的某些控件(如文本框)获得焦点时,若 用户按下《Enter》键,将执行Default属性值为.T.的那个命令按钮的click事件代码。 3、Cancel:如果设置该属性值为.T.,则当用户按下键时,将执行命令按钮的click 事件的代码。 4、Enabled:指明按钮是否失效,即是否被选择。当Enabled属性值为.f.时,用户无法 选择该按钮。 5、DisabledPicture:指定按钮失效时在按钮上显示的.bmp文件。 6、DownPicture:指定在按钮按下时按钮上显示的.bmp文件。 7、Visible:指明按钮是否可见。 8、Picture:指明显示在按钮上的.bmp文件。 命令按钮组时一组命令按钮,是容器对象。使用命令按钮组便于对一组命令按钮进行统一操作和设置。命令按钮组的ButtonCount属性值,决定组中命令按钮的个数。 表单运行时,当用户单击组中某个命令按钮时,命令按钮组的Value属性可以返回所单击按钮的序号。若要单独设置组中的某个命令按钮的属性,可以使用命令按钮组的快捷菜单中的“编辑”命令选择某个按钮,在“属性”窗口中设置其属性。若为组中某个按钮的Click事件写了代码,当单击这个按钮时,将执行该按钮的Click事件代码而不是组的Click事件代码。 三、选项按钮组 选项按钮组是常用的一种控件,用在各种对话框中,让用户从给定几个操作中选择一个。例如“文件”菜单中“新建”菜单项打开“新建”对话框,该对话框中有一个标题为“文件类型”的选项按钮组,让用户选择建立哪一种类型的文件。

VisualFoxPro数据库编程函数大全

大全 数据库函数大全 VisualFoxPro数据库函数 ADATABASES()将所有打开数据库的名称和路径放到内存变量数组中 ADBOBJECTS()把当前数据库中的命名连接名、关系名、表名或sQL视图名放到一个内存变量数组中AFIELDS()把当前表的结构信息存放在一个数组中,并且返回表的字段数 ALIAS()返回当前表或指定工作区衰的别名 ASESSIONS()创建一个已存在的数据工作期ID数组 ATAGINFO()创建一个包含索引和键表达式的名字、数量和类型信息的数组 AUSED()将一个数据工作期中的表别名和工作区存入内存变量数组 BOF()确定当前记录指针是否在表头 CANDIDATE()判断索引是否为候选索引 CDX()根据指定的索引位置编号,返回打开的复合索引(.CDX)文件名称 CPDBP()返回一个打开表所使用的代码页 CREATEOFFLINE()由已存在的视图创建一个游离视图 CURSORGETPROP()返回VisualFoxPro表或临时表的当前属性设置 CURSORSETPROP()指定VisualFoxPro表或临时表的属性设置 CURSORTOXML()转换VisualFoxPro临时表为XML文本 CURVAL()从磁盘上的表或远程数据源中直接返回字段值 DBC()返回当前数据库的名称和路径 DBF()返回指定工作区中打开的表名,或根据表别名返回表名 DBSETPROP()给当前数据库或当前数据库中的字段、命名连接、表或视图设置一个属性 DELETED()返回一个表明当前记录是否标有删除标记的逻辑值 DESCENDING()是否用DESCENDING关键字创建了一个索引标识 DROPOFFLINE()放弃对游离视图的所有修改,并把游离视图放回到数据库中 EOF()确定记录指针位置是否超出当前表或指定表中的最后一个记录 FCOUNT()返回衰中的字段数目 FIELD()根据编号返回表中的字段名 FILTER()返回SETFILTER命令中指定的表筛选表达式 FLDLIST()对于SETmELDS命令指定的字段列表,返回其中的字段和计算结果字段表达式 FLOCK()尝试锁定当前表或指定表 FOR()返回一个己打开的单项索引文件或索引标识的索引筛选表达式 FOUND()如果CONTINUE、FIND、LOCATE或SEEK命令执行成功,函数的返回值为"真" FSIZE()以字节为单位,返回指定字段或文件的大小 GETFLDSTATE()返回一个数值,标明表或临时表中的字段是否已被编辑,或是否有追加的记录,或者记录的删除状态是否已更改 GETNEXTMODIFIED()返回一个记录号,对应于缓冲表或临时表中下一个被修改的记录 HEADER()返回当前或指定表文件的表头所占的字节数 IDXCOLLATE()返回索引或索引标识的排序序列 INDBC()如果指定的数据库对象在当前数据库中,则返回"真"(.T.) INDEXSEEK()在一个索引表中搜索第一次出现的某个记录 ISEXCLUSIVE()判断一个表或数据库是以独占方式打开的 ISFLOCKED()返回表的锁定状态 ISREADONLY()判断是否以只读方式打开表 ISRLOCKED()返回记录的锁定状态 KEY()返回索引标识或索引文件的索引关键字表达式 KEYMATCH()在索引标识或索引文件中搜索一个索引关键字 LOOKUP()在表中搜索字段值与指定表达式匹配的第一个记录 LUPDATE()返回一个表最近一次更新的日期

VFP数据库和表的操作

自由表的创建方法: 一、表向导 1、在项目管理器中,“数据”选择自由表,单击“新建”,选择“表向导”; 2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“向导”; 3、“工具”菜单中“向导”中的“表” 二、表设计器创建自由表 1、在项目管理器中,自由表→新建→新建表 2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“新建文件”; 三、用命令创建表 1、 CREATE<表文件名> 命令功能:打开表设计器新建一个VFP表。例如:在D盘XS文件夹中新建ST表 CREATE D:\XS\ST 2、用SQL语言创建,例如:在D盘XS文件夹中新建ST表,包含字段姓名,性别 CREATR DBF D:\XS\ST(姓名 C(8),性别 C(2)) 3、复制表 COPY TO <表文件名>[FIELDS 字段列表] [FOR 条件] 命令功能:复制当前表并创建一个新表。例如:复制D盘XS文件夹中的ST表到同目录下的 USE D:\XS\ST COPY TO D:\XS\LX 如果只复制姓名: USE D:\XS\ST COPY TO D:\XS\LX FIELDS 姓名 4、复制表结构 COPY STRUCTURE TO <表文件名>[FIELDS 字段列表] 命令功能:复制当前表结构并创建一个新表。例如:复制D盘XS文件夹中的ST表的表结构到同目录下的 USE D:\XS\ST COPY STRUCTURE TO D:\XS\LX 如果复制结构中的姓名字段 USE D:\XS\ST COPY STRUCTURE TO D:\XS\LX FIELDS 姓名

VFP数据库系统开发实例(附图)

11.1 系统需求分析 传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能: 1. 数据需求 通过调查,总结出该应用程序对数据的需求大致有如下这些: (1) 学生信息 包括学号,姓名,性别,出生日期等 (2) 学生成绩信息 主要包括学号, 课程编号,平时成绩 (3) 课程信息 包括课程编号,课程名称 2. 功能需求 功能分析的任务是了解用户对数据的处理方法和输出格式。 (1) 基本数据录入 基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。 (2) 学生和管理员信息的维护 要求能够根据需要对学生和管理员信息进行维护修改等。 (3) 打印输出 打印学生信息表。 11.2 系统设计 1. 程序总体结构设计 在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分层设计和实现。图1所示为公共计算机成绩管理系统的功能模块图。

图1公共计算机成绩管理系统功能模块 2. 数据库逻辑设计 进行数据库设计的依据有三个:第一是在进行系统调查时由成绩管理员提供的各种处理数据;第二是功能设计结果;第三是数据库设计规范化理论。数据库设计是系统设计的一项基本工作,其效果的好坏,对后续设计、调试、使用、维护等工作关系极大,因此,一定要高度重视这一部分工作。当然,我们不能简单地将数据库设计理解为在计算机上用可视化的方法建立表的过程,其主要工作是建立一种完整、规范的数据模型以支持整个应用系统对数据的要求。 根据对实际情况进行分析建立关系模型 1) 学生信息表(学号,姓名,性别,出生日期) 2) 学生成绩表(学号, 课程编号,平时成绩) 3 课程表(课程编号,课程名称) 11.3 创建项目 Visual Foxpro推荐在项目管理器中开发应用程序,因为项目管理器会为开发工作带来很多方便。在项目管理器中创建一个项目后,应用程序就具备了一个开发框架,然后在这个框架中,再利用项目管理器所提供的强大功能,按照需求来实现应用程序的设计。 用户可以启动Visual Foxpro,选择【文件】|【新建】命令,在打开的对话框中,选择“项目”单选按钮,然后单击“新建文件”按钮,接着在“创建”对话框中,输入项目文件名并确定项目路径(本例使用的路径为D:\公共计算机成绩管理系统),然后单击“保存”按钮,即可启动项目管理器。一个完整的应用程序,即使规模不大,也会涉及到多种类型文件,如dbc数据库、dbf表以及菜单、表单、报表、位图等。为了以后的修改、维护工作方便进行,就需要把这些文件放在不同的文件夹中便于管理维护。 11.4数据库的物理设计 a) 数据库名为公共计算机成绩管理.dbc b) 数据表 i. 学生信息表.dbf 学号/C/10,姓名/C/10,性别/L/1,出生日期/D/8,系科/C/30,备注/M/4,照片/G/4 ii. 学生成绩表. dbf学号/C/10, 课程编号/C/2,平时成绩/N/6/2 iii. 课程表 课程编号/C/2,课程名称/C/14

vfp表的基本操作

练习一数据表基本操作 【实验目的】 1.熟练掌握用“表设计器”建立数据表的方法; 2.能够正确输入表记录; 3.掌握表文件的打开、关闭操作; 4.掌握表结构的显示、修改方法。 【知识要点】 1.使用表设计器创建自由表 方法一:使用菜单方式建立表结构; (1)(在“项目管理器”中)选“数据/自由表”-“新建” -“新建表”-输入表名并确定存放位置-“保存”按钮。 (2)“文件/新建”-(类型)选“表”-“新建文件”钮-输入表名并确定存放位置。 方法二:使用命令方式建立表结构。 格式:CREA TE <表名> 功能:创建以指定表名命名的表结构。 2.表数据的输入 (1)立即输入:在建立表结构后,立即输入记录(此时是在“编辑”状态) (2)追加输入:建立表以后,再打开此表,进行输入记录 ①“项目管理器”)“数据/自由表”-选定表-“浏览”钮-“显示/追加方式” ②(先打开表,“显示/浏览”进入浏览状态)“表/追加新记录”(追加一条记录) ③ (先打开表,“显示/浏览”进入浏览状态) “显示/追加方式” (追加多条记录) ④ (先打开表) APPEND [BLANK] (有“BLANK”项,则添加一条空白记录) 注:M型字段的录入:双击M字段,录入数据; G型字段的录入:双击字段-“编辑/插入对象”- 选“类型”- 选择文件 (3)成批追加:将指定表中的记录追加到当前表的尾部 APPEND FROM表名[FOR/WHILE 条件式][FIELDS 字段名表] 注:两表要追加的字段类型要相同 3.打开表 (1)“文件/打开”-(类型)选“表”-选定表-“确定” (2)USE<表名> 4.关闭表 (1)USE (2)退出VFP 5.表结构的显示与修改 显示:LIST|DISPLA Y STRUCTURE 修改:(1)菜单方式:打开要修改的数据表,进入表设计器对表结构进行修改。 (2)MODIFY STRUCTURE 【实验内容】 1.在e盘根目录下建立一个以学生自己的学号命名的文件夹。 2.建立自由表“学生表”,保存至学号文件夹中,表的结构如表3-1所示。

VFP自由表与数据库表

实验五VFP自由表与数据库表的操作 一、实验目的 1、了解关系数据库中关系的基本组成,表的结构(字段)、记录和表名三要素; 2、能正确区分自由表和数据库表,并知道两种的相互转换方式; 3、会新建自由表、编辑修改自由表,调节字段先后顺序、记录先后次序、添加删除记 录; 4、掌握数据库表的建立方法、编辑修改方法,字段级和记录级有效性规则的设置、记 录的追加、记录的逻辑删除与物理删除、表的浏览方式设置; 5、了解启用向导方式建立表文件的方法,知道如何导出表文件数据进入EXCELE。 二、实验内容及操作步骤 1、自由表与数据库表的区别 自由表是与数据库无关的表,它是早先关系数据库FoxBASE等的数据库,VFP为了保持跟早先的关系数据库的兼容,保留它并称为自由表。它的特点是:表名遵循8.3格式,字段名长只在10个字符以内。数据库表从属于数据库,是数据库基本对象,它支持长表名和长字段名,拥有字段和记录级有效性规则。自由表和数据库表都是关系,都有三个基本要素:表名、字段和记录。自由表和数据库表可以互相转换,即将自由表添加到数据库中成为数据库表,也可以将数据库表移出数据库志为自由表。 2、自由表的操作 (1)、新建自由表 自由表在项目管理器中建立,这类自由表从属于打开的项目,即是项目的一个对象。 自由表也可与项目无关,即不打开、不新建项目情况下新建的表——真正意义的自由表。 新建自由表有以下方法: 方法一、执行“文件”——“新建”——“表”; 方法二、在命令窗口中输入:Create <表名> 方法三、在项目管理器中选定“自由表”——“新建” 方法四、在已建立自由表基础上用“表向导”新建自由表。 我们建立如下自由表——表名为:学生基本情况表

VFP基础教程-数据库的创建和使用

4.1 VFP数据库 1. 数据库的基本组成 数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。 视图(view): 一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。 存储过程(stored procedure): 是保存在数据库中的一个过程。该过程能包含一个用户自定义函数中的任何命令和函数。 创建数据库时系统自动生成3个文件: 数据库文件: 扩展名为 .DBC 数据库备注文件: 扩展名为 .DCT 数据库索引文件: 扩展名为 .DCX 2. 数据库的设计过程 1)明确建立数据库的目的和使用方式 2)设计所需的数据表(包括表结构和表记录) 3)建立表之间的关系 4)改进设计 4.2 数据库的创建

1. 数据库的创建过程 数据库的创建过程中一般会涉及下面一些常用操作: 1)创建新表→用表设计器(设置字段属性和表属性) 2)添加表→用数据库设计器按钮或数据库菜单 3)创建视图→用视图向导、视图设计器 4)建立关系→用鼠标将父表的索引拖到子表的相关索引上 5)编辑关系→用数据库菜单或快捷菜单→参照完整性生成器6)移去关系→用快捷菜单或按delete键 7)修改表→用表设计器 8)删除表或视图→用数据库设计器按钮或数据库菜单 2. 数据库的新建、打开、关闭 (1)新建数据库:

从文件菜单中单击新建→在新建对话框中选择数据库并单击新文件→在创建对话框中给出库文件名和保存位置→在数据库设计器中建立所需的数据库。 或从命令窗口中输入命令:create database 数据库名 (2)打开数据库: 从文件菜单中单击打开→在打开对话框中给出库文件名和保存位置并确定之。 或从命令窗口中输入命令: open database 数据库名 (3)关闭数据库: 从命令窗口中输入命令: close database && 关闭当前数据库 或close all && 关闭所有被打开的数据库 注意:1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭; 2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。 3. 用数据库设计器设计数据库

VFP报表使用方法

一、报表:报表是vfp中的一种数据组织形式,我们通常利用报表,把从数据库表中提取出的数据打印出来。 报表是由两个基本部分组成:数据源和数据布局。数据源指定了报表中的数据来源,可以是表,视图,查询或临时表;数据布局指定了报表中各个输出内容的位置和格式。报表从数据源中提取数据,并按照布局定义的位置和格式输出数据。 报表中并不存储数据源中实际的数据的值,而只存储数据的位置和格式,这一点,和视图的特性有些相似。所以,每次打印时,打印出来的报表的内容不是固定不变的,会随数据库的内容的改变而改变。 二、使用报表向导创建报表:创建报表就是定义报表的数据源和数据布局。“报表向导”是创建报表的最简单的途径。可通过回答一系列的问题来进行报表的设计,使报表的设计工作变得省时有趣。使用报表向导创建完成报表后,还可使用“报表设计器”打开该报表,对其进行修改和完善。 1.打开“报表向导”:在“项目管理器”的“全部”或“文档”选项卡中,选择“报表”,单击“新建按钮”,弹出“新建报表”对话框。在该对话框中,单击“报表向导”按钮,弹出“向导选取”对话框。 在vfp中,提供两种不同的报表向导:一是“报表向导”,针对单一的表或视图进行操作;二是“一对多报表向导”,针对多表或视图进行操作。我们根据具体情况,选择相应的向导。这里假设我们操作的是单一的表,所以选择“报表向导”,系统会按步骤弹出一系列对话框。 步骤一:字段选取。在这个对话框中,选择要在报表中输出的字段。首先,单周“数据库和表”列表框右侧的按钮选择报表的数据源,然后选择所需的字段步骤二:分组记录,在此对话框中,如果需要,可设置分组控制,最多设置三级分组。

相关主题
文本预览
相关文档 最新文档