vfp周测月考综合卷(bbf周测月考)

本篇文章给同学们谈谈vfp周测月考综合卷,以及bbf周测月考对应的知识点,希望对各位同学有所帮助,不要忘记分享给你的朋友哦!

本文目录一览:

求VFP高手

删除问题:

1、如果只是要删除后,不让操作人员看到。应该在删除前设置 SET DELETED ON。这样删除后看不到,但数据还在,以后可以用 recall 命令恢复。

2、如果要物理删除,必须独占打开表, USE 表 EXCLUSIVE。然后用delete 命令删除后用 PACK 进行物理删除。

3、如果要将表中数据全部清空,先独占打开表,直接用ZAP就可以了。

是否为空问题:

1、用EMPTY()函数可以判断各种类型的数据是否为空。

当表达式类型计算为下表中的值时,EMPTY( ) 返回真(.T.)。

表达式类型 取值

大二进制对象(Blob)

空(0h)或只包含 0 字节,例如,0h00、0h000000 等

字符型(Character)

空串、空格、制表符、回车、换行符或以上各字符的任意组合

货币型(Currency)

日期型(date)

空,例如,CTOD('')

日期时间型(DateTime)

空,例如,CTOT('')

双精度型(Double)

浮点型(Float)

通用型(General)

空(没有 OLE 对象)

整型(Integer)

逻辑型(Logical)

假(.F.)

备注型(Memo)

空(无内容)

数值型(Numeric)

可变长二进制型(Varbinary)

空(0h)或只包含 0 字节,例如,0h00、0h000000 等

2、如果你说的空指的是.NULL.用函数

ISNULL()判断。

利用 ISNULL( ) 来确定字段、内存变量或数组元素的内容是否包含一个 null 值,或一个表达式被计算为 null 值。

示例

在下面的示例中,ISNULL( ) 被用于检查 null 值。

STORE .NULL. TO mNullvalue 保存一个 null 值到内存变量

CLEAR

? mNullvalue 显示该内存变量的值

? ISNULL(mNullvalue) 返回 .T., 表示一个 null 值

? TYPE('mNullvalue') 返回 L, 表示一个逻辑值

? (mNullvalue = .NULL.) 返回 .NULL., 不正确的 null 值测试

[img]

VFP 多选题答案

1.下列命令或命令的组合中可以将所有记录彻底从磁盘上删除的有(AC)

A.ZAP

C.

DELETE ALL

PACK

2.下列是字符串常量的是(ABC)

A."计算机"

B.’计算机’

C.[计算机]

3.下列表达式正确的是(ABCD)

A.DATE() TIME() 数据类型不匹配

B.DATE() 200 结果为日期型数据

C.365-DATE() 数据类型不匹配

D.365-TIME() 数据类型不匹配

4.如下命令中不需要使用索引文件的是(ABC)

A. LOCATE

B. LIST

C. DISP

5.USE命令的相关功能有(ABC)

A. 打开.DBF文件

B. 打开.IDX文件

C. 关闭.DBF文件及相关的.IDX文件

大学计算机二级等级考试 VFP

考题在上找 (上机题和笔试题都有,还有考点精讲)

2008年9月全国计算机等级考试二级笔试试卷

Visual FoxPro数据库程序设计

(考试时间90分钟,满分100分)

一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是

A)12345ABCDE B)EDCBA54321

C )ABCDE12345 D)54321EDCBA

(2)下列叙述中正确的是

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况

D)循环队列中元素的个数是由队头和队尾指针共同决定

(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是

A)O(N) B)O(n2) C)O(log2n) D)O(n log2n)

(4)下列叙述中正确的是

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C)顺序存储结构能存储有序表,链式存储结构不能存储有序表

D)链式存储结构比顺序存储结构节省存储空间

(5)数据流图中带有箭头的线段表示的是

A)控制流 B)事件驱动 C)模块调用 D)数据流

(6)在软件开发中,需求分析阶段可以使用的工具是

A)N-S图 B)DFD图 C)PAD图 D)程序流程图

(7)在面向对象方法中,不属于“对象”基本特点的是

A)一致性 B)分类性 C)多态性 D)标识唯一性

(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是

A)一对一 B)一对多 C)多对一 D)多对多

(9)在数据管理技术发展的三个阶段中,数据共享最好的是

A)人工管理阶段 B)文件系统阶段

C)数据库系统阶段 D)三个阶段相同

(10)有三个关系R、S和T如下:

A B C

m 1 3

R S T

A B

m 1

n 2

B C

1 3

3 5

由关系R和S通过运算得到关系T,则所使用的运算为

A)笛卡尔积 B)交 C)并 D)自然连接

(11)设置表单标题的属性是

A)Title B)Text C)Biaoti D)Caption

(12)释放和关闭表单的方法是

A)Release B)Delete C)LostFocus D)Destory

(13)从表中选择字段形成新关系的操作是

A)选择 B)连接 C)投影 D)并

(14)Modify Command命令建立的文件的默认扩展名是

A)prg B)app C)cmd D)exe

(15)说明数组后,数组元素的初值是

A)整数0 B)不定值 C)逻辑真 D)逻辑假

(16)扩展名为mpr的文件是

A)菜单文件 B)菜单程序文件 C)菜单备注文件 D)菜单参数文件

(17)下列程序段执行以后,内存变量y的值是

x=76543

y=0

DO WHILE x0

y=x%10+y*10

x=int(x/10)

ENDDO

A)3456 B)34567 C)7654 D)76543

(18)在SQL SELECT查询中,为了使查询结果排序应该使用短语

A)ASC B)DESC C)GROUP BY D)ORDER BY

(19)设a=”计算机等级考试”,结果为”考试”的表达式是

A)Left(a,4) B)Right(a,4) C)Left(a,2) D)Right(a,2)

(20)关于视图和查询,以下叙述正确的是

A)视图和查询都只能在数据库中建立

B)视图和查询都不能在数据库中建立

C)视图只能在数据库中建立

D)查询只能在数据库中建立

(21)在SQL SELECT语句中与INTO TABLE等价的短语是

A)INTO DBF B)TO TABLE C)TO FOEM D)INTO FILE

(22)CREATE DATABASE命令用来建立

A)数据库 B)关系 C)表 D)数据文件

(23)欲执行程序temp.prg,应该执行的命令是

A)DO PRG temp.prg B)DO temp.prg

C)DO CMD temp.prg D)DO FORM temp.prg

(24)执行命令MyForm=CreateObject(“Form”)可以建立一个表单,为了让该表单在屏幕上显示,应该执行命令

A)MyForm.List B)MyForm.Display

C)MyForm.Show D)MyForm.ShowForm

(25)假设有student表,可以正确添加字段“平均分数”的命令是

A)ALTER TABLE student ADD 平均分数 F(6,2)

B)ALTER DBF student ADD 平均分数 F 6,2

C)CHANGE TABLE student ADD 平均分数 F(6,2)

D)CHANGE TABLE student INSERT 平均分数 6,2

(26)页框控件也称作选项卡控件,在一个页框中可以有多个页面,页面个数的属性是

A)Count B)Page C)Num D)PageCount

(27)打开已经存在的表单文件的命令是

A)MODIFY FORM B)EDIT FORM

C)OPEN FORM D)READ FORM

(28)在菜单设计中,可以在定义菜单名称时为菜单项指定一个访问键。规定了菜单项的访问键为“x”的菜单名称定义是

A)综合查询\(x) B)综合查询/(x)

C)综合查询(\x) D)综合查询(/x)

(29)假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1。命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是

A)This.ThisForm.Text1.Value B)This.Parent.Parent.Text1.Value

C)Parent.Parent.Text1.Value D)This.Parent.Text1.Value

(30)下面关于数据环境和数据环境中两个表之间关联的陈述中,正确的是

A)数据环境是对象,关系不是对象

B)数据环境不是对象,关系是对象

C)数据环境是对象,关系是数据环境中的对象

D)数据环境和关系都不是对象

(31)~(35)使用如下关系:

客户(客户号,名称,联系人,邮政编码,电话号码)

产品(产品号,名称,规格说明,单价)

订购单(订单号,客户号,订购日期)

订购单名细(订单号,序号,产品号,数量)

(31)查询单价在600元以上的主机板和硬盘的正确命令是

A)SELECT * FROM 产品 WHERE 单价600 AND (名称=’主机板’ AND 名称=’硬盘’)

B)SELECT * FROM 产品 WHERE 单价600 AND (名称=’主机板’ OR 名称=’硬盘’)

C)SELECT * FROM 产品 FOR 单价600 AND (名称=’主机板’ AND 名称=’硬盘’)

D)SELECT * FROM 产品 FOR 单价600 AND (名称=’主机板’ OR 名称=’硬盘’)

(32)查询客户名称中有“网络”二字的客户信息的正确命令是

A)SELECT * FROM 客户 FOR 名称 LIKE "%网络%"

B)SELECT * FROM 客户 FOR 名称 ="%网络%"

C)SELECT * FROM 客户 WHERE 名称 ="%网络%"

D)SELECT * FROM 客户 WHERE 名称 LIKE "%网络%"

(33)查询尚未最后确定订购单的有关信息的正确命令是

A)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单

WHERE 客户.客户号=订购单.客户号 AND 订购日期 IS NULL

B)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单

WHERE 客户.客户号=订购单.客户号 AND 订购日期 = NULL

C)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单

FOR 客户.客户号=订购单.客户号 AND 订购日期 IS NULL

D)SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单

FOR 客户.客户号=订购单.客户号 AND 订购日期 = NULL

(34)查询订购单的数量和所有订购单平均金额的正确命令是

A)SELECT COUNT(DISTINCT 订单号),AVG(数量*单价)

FROM 产品 JOIN 订购单名细 ON 产品.产品号=订购单名细.产品号

B)SELECT COUNT(订单号),AVG(数量*单价)

FROM 产品 JOIN 订购单名细 ON 产品.产品号=订购单名细.产品号

C)SELECT COUNT(DISTINCT 订单号),AVG(数量*单价)

FROM 产品,订购单名细 ON 产品.产品号=订购单名细.产品号

D)SELECT COUNT(订单号),AVG(数量*单价)

FROM 产品,订购单名细 ON 产品.产品号=订购单名细.产品号

(35)假设客户表中有客户号(关键字)C1~C10共10条客户记录,订购单表有订单号(关键字)OR1~OR8共8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是

A)INSERT INTO 订购单 VALUES(‘OR5’,’C5’,{^2008/10/10})

B)INSERT INTO 订购单 VALUES(‘OR5’,’C11’,{^2008/10/10})

C)INSERT INTO 订购单 VALUES(‘OR9’,’C11’,{^2008/10/10})

D)INSERT INTO 订购单 VALUES(‘OR9’,’C5’,{^2008/10/10})

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

注意:以命令关键字填空的必须拼写完整。

(1)对下列二叉树进行中序遍历的结果是 【1】 。

(2)按照软件测试的一般步骤,集成测试应在 【2】 测试之后进行。

(3)软件工程三要素包括方法、工具和过程,其中, 【3】 支持软件开发的各个环节的控制和管理。

(4)数据库设计包括概念设计、 【4】 和物理设计。

(5)在二维表中,元组的 【5】 不能再分成更小的数据项。

(6)SELECT * FROM student 【6】 FILE student 命令将查询结果存储在student.txt文本文件中。

(7)LEFT("12345.6789",LEN("子串"))的计算结果是【7】 。

(8)不带条件的SQL DELETE命令将删除指定表的【8】记录。

(9)在SQL SELECT语句中为了将查询结果存储到临时表中应该使用【9】短语。

(10)每个数据库表可以建立多个索引,但是【10】索引只能建立1个。

(11)在数据库中可以设计视图和查询,其中【11】不能独立存储为文件(存储在数据库中)。

(12)在表单中设计一组复选框(CheckBox)控件是为了可以选择【12】个或【13】个选项。

(13)为了在文本框输入时隐藏信息(如显示“*”),需要设置该控件的【14】属性。

(14)将一个项目编译成一个应用程序时,如果应用程序中包含需要用户修改的文件,必须将该文件标为【15】 。

2008年9月全国计算机等级考试二级VFP笔试参考答案

一、选择题

1-5 BDCAD

6-10 BABCD

11-15 DACAD

16-20 BBDBC

21-25 AABCA

26-30 DACBC

31-35 BDAAD

二、填空题

1、DBXEAYFZC

2、单元

3、过程

4、逻辑设计

5、分量

6、TO

7、"1234 "

8、全部

9、INTO CURSOR

10、主

11、视图

12、零

13、多

14、PASSWORDCHAR

15、排除

2007年9月全国计算机等级考试二级VFP笔试试卷

一、选择题(每小题2分,70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。

(1)软件是指

A)程序 B)程序和文档

C)算法加数据结构 D)程序、数据与相关文档的完整集合

(2)软件调试的目的是

A)发现错误 B)改正错误

C)改善软件的性能 D)验证软件的正确性

(3)在面向对象方法中,实现信息隐蔽是依靠

A)对象的继承 B)对象的多态

C)对象的封装 D)对象的分类

(4)下列叙述中,不符合良好程序设计风格要求的是

A)程序的效率第一, 清晰第二 B)程序的可读性好

C)程序中要有必要的注释 D)输入数据前要有提示信息

(5)下列叙述中正确的是

A)程序执行的效率与数据的存储结构密切相关

B)程序执行的效率只取决于程序的控制结构

C)程序执行的效率只取决于所处理的数据量

D)以上三种说法都不对

(6)下列叙述中正确的是

A)数据的逻辑结构与存储结构必定是一一对应的

B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构

C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构

D)以上三种说法都不对

(7)冒泡排序在最坏情况下的比较次数是

A)n(n+1)/2 B)nlog2 n C)n(n-1)/2 D)n/2

(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为

A)219 B)221 C)229 D)231

(9)下列叙述中正确的是

A)数据库系统是一个独立的系统,不需要操作系统的支持

B)数据库技术的根本目标是要解决数据的共享问题

C)数据库管理系统就是数据库系统

D)以上三种说法都不对

(10)下列叙述中正确的是

A)为了建立一个关系,首先要构造数据的逻辑关系

B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项

C)一个关系的属性名表称为关系模式

D)一个关系可以包括多个二维表

(11) 在Visual Foxpro中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为

A)向导 B)设计器 C)生成器 D)项目管理器

(12)命令?VARTYPE(TIME())结果是

A)C B)D C)T D)出错

(13)命令?LEN(SPACE(3)-SPACE(2))的结果是

A)1 B)2 C)3 D)5

(14)在Visual Foxpro中,菜单程序文件的默认扩展名是

A)mnx B)mnt C)mpr D)prg

(15)想要将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令

A)SET CENTURY ON B)SET CENTURY OFF

C)SET CENTURY TO 4 D)SET CENTURY OF 4

(16)已知表中有字符型字段职称和姓别,要建立一个索引,要求首先按职称排序、职称相同时再按性别排序,正确的命令是

A)INDEX ON 职称+性别 TO ttt B)INDEX ON 性别+职称TO ttt

C)INDEX ON职称,性别TO ttt D)INDEX ON 性别,职称TO ttt

(17)在Visual Foxpro中,Unload事件的触发时机是

A)释放表单 B)打开表单

C)创建表单 D)运行表单

(18)命令SELECT 0的功能是

A)选择编号最小的未使用工作区 B)选择0号工作区

C)关闭当前工作区的表 D)选择当前工作区

(19)下面有关数据库表和自由表的叙述中,错误的是

A)数据库表和自由表都可以用表设计器来建立

B)数据库表和自由表都支持表间联系和参照完整性

C)自由表可以添加到数据库中成为数据库表

D)数据库表可以从数据库中移出成为自由表

(20)有关ZAP命令的描述,正确的是

A)ZAP命令只能删除当前表的当前记录

B)ZAP命令只能删除当前表的带有删除标记的记录

C)ZAP命令能删除当前表的全部记录

D)ZAP命令能删除表的结构和全部记录

(21)在视图设计器中有,而在查询设计器中没有的选项卡是

A)排序依据 B)更新条件 C)分组依据 D)杂项

(22)在使用查询设计器创建查询是,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应该使用的选项卡是

A)排序依据 B)联接 C)筛选 D)杂项

(23)在Visual Foxpro中,过程的返回语句是

A)GOBACK B)COMEBACK C)RETURN D)BACK

(24)在数据库表上的字段有效性规则是

A)逻辑表达式 B)字符表达式

C)数字表达式 D)以上三种都有可能

(25)假设在表单设计器环境下,表单中有一个文本框且已经被选定为当前对象。现在从属性窗口中选择Value属性,然后在设置框中输入:={^2001-9-10}-{^2001-8-20}。请问以上操作后,文本框Value属性值的数据类型为:

A)日期型 B)数值型 C)字符型 D)以上操作出错

(26)在SQL SELECT 语句中为了将查询结果存储到临时表应该使用短语

A)TO CURSOR B)INTO CURSOR

C)INTO DBF D)TO DBF

(27)在表单设计中,经常会用到一些特定的关键字、属性和事件。下列各项中属于属性的是

A)This B)ThisForm C)Caption D)Click

(28)下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是

SET TALK OFF

INPUT”x=”TO x

s=0

DO WHILE x!=0

s=s+MOD(x,10)

ENDDO

?s

SET TALK ON

A)x=int(x/10) B)x=int(x%10) C)x=x-int(x/10) D)x=x-int(x%10)

(29)在SQL的ALTER TABLE语句中,为了增加一个新的字段应该使用短语

A)CREATE B)APPEND C)COLUMN D)ADD

(30)~(35)题使用如下数据表:

学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)

选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)

(30)查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是

A) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} AND 性别=”男”

B) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} AND 性别=”男”

C) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} OR 性别=”男”

D) SELECT * FROM 学生WHERE 出生日期={^1982-03-20} OR 性别=”男”

(31)计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是

A) SELECT AVG(成绩) FROM 选课WHERE 姓名=”刘明”

B) SELECT AVG(成绩) FROM学生,选课WHERE 姓名=”刘明”

C) SELECT AVG(成绩) FROM学生,选课WHERE学生.姓名=”刘明”

D) SELECT AVG(成绩) FROM学生,选课WHERE学生.学号=选课.学号 AND姓名=”刘明”

(32)假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为”101”课程的平均成绩,正确的SQL 语句是

A) SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课WHERE 课程号=”101” GROUP BY 专业

B) SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=”101” GROUP BY 1

C) SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=”101” ORDER BY 专业

D) SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课WHERE 课程号=”101” ORDER BY 1

(33)查询选修课程号为”101”课程得分最高的同学,正确的SQL语句是

A) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩=ALL(SELECT 成绩 FROM 选课)

B) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101”)

C) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号AND 成绩=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=”101”)

D) SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩=ALL(SELECT 成绩 FROM 选课 WHERE课程号=”101”)

(34)插入一条记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和80,正确的SQL语句是

A)INSERT INTO 选课 VALUES(“02080111”,”103”,80)

B)INSERT VALUES(“02080111”,”103”,80)TO 选课(学号,课程号,成绩)

C)INSERT VALUES(“02080111”,“103”,80)INTO 选课(学号,课程号,成绩)

D)INSERT INTO 选课(学号,课程号,成绩) FORM VALUES(“02080111”,”103”,80)

(35)将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是

A)UPDATE选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102”

B)UPDATE选课SET 成绩=92 WHERE学号=”02080110 AND课程号=”102”

C)UPDATE FROM选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102”

D)UPDATE FROM选课SET成绩=92 WHERE学号=”02080110” AND课程号=”102”

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】 ~【15】序号的横线上,答在试卷上不得分。

注意:以命令关键字填空的必须拼写完整,

(1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】 。

(2)在两种基本测试方法中,【2】 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。

(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】 存储结构。

(4)对下列二义树进行中序遍历的结果为【4】 。

(5)在E-R图中,矩形表示【5】 。

(6)如下命令查询雇员表中“部门号“字段为空值的记录

SELECT * FROM 雇员WHERE部门号【6】 。

(7)在SQL的SELECT查询中,HAVING字句不可以单独使用,总是跟在【7】 子句之后一起使用。

(8)在SQL的SELECT 查询时,使用【8】 子句实现消除查询结果中的重复记录。

(9)在Visual FoxPro 中修改表结构的非SQL命令是【9】 。

(10)在Visual FoxPro中,在运行表单时最先引发的表单事件是【10】事件。

(11)在Visual FoxPro中,使用LOCATE ALL 命令按条件对表中的记录进行查找,若查不到记录,函数EOF()的返回值应是【11】 。

(12)在Visual FoxPro表单中,当用户使用鼠标单击命令按钮时,会触发命令按钮的【12】事件。

(13)在Visual FoxPro中,假设表单上有一选项组:○男 ○女,该选项组的Value属性值赋为0。当其中的第一个选项按钮“男“被选中,该选项组的Value属性值为【13】 。

(14)在Visual FoxPro表单中,用来确定复选框是否被选中的属性是【14】 。

(15)在SQL中,插入、删除、更新命令依次是INSERT、DELETE和【15】 。

2007年9月全国计算机等级考试二级VFP参考答案

一、选择题:

1-5 DBCAA

5-10 CCABA

11-15 BADCA

16-20 AAABC

21-25 BDCAA

26-30 BCADA

31-35 DBDAB

二、填空题:

1、无歧义性

2、白盒测试

3、顺序

4、ACBDFEHGP

5、实体集

6)IS NULL

7)GROUP BY

8)DISTINCT

9)MODIFY STRUCTURE

10)LOAD

11).T.

12)CLICK

13)1或"男"

14)value

15)Update

VFP表单题目求答案

1.3 Visual FoxPro编程基础

--------------------------------------------------------------------------------

VFP是由FoxPro发展而来,并且根据“可视化编程”的需要,增加了一些新的操作。它的语句、函数和语法规则与Xbase(如dBASE、FoxBase、FoxPro)语言基本上是兼容的,而且功能更加强大。

一、数据和数据类型

1.数据的分类

数据是计算机程序处理的对象,也是运算产生的结果。

按数据的类型分类:数值型数据、字符型数据、逻辑型数据等。

按数据的处理层次分类:常量、变量、函数和表达式。

2.数据的类型

数据类型是数据的基本属性。对数据进行操作的时候,只有同类型的数据才能进行操作,若对不同类型的数据进行操作,将被系统判为语法出错。

(1)字符型(Character):由字母(汉字)、数字、空格等任意ASCII码字符组成。

字符数据的长度为0~254,每个字符占1个字节。

(2)货币型(Currency):在使用货币值时,可以使用货币型来代替数值型。

货币型数据取值的范围是:

-922337203685477.5807~922337203685477.5807

小数位数超过4位时,系统将进行四舍五入的处理。每个货币型数据占8个字节。

(3)日期型(Date):用以保存不带时间的日期值。

日期型数据的存储格式为“yyyymmdd”其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位。

日期型数据的表示有多种格式,最常用的格式为mm/dd/yyyy。

日期型数据取值的范围是:公元0001年1月1日一公元9999年12月31日。

(4)日期时间型(DateTime):用以保存日期和时间值。日期时间型数据的存储格式为 “yyyymmddhhmmss”其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位,hh为时间中的小时,占2位,mm为时间中的分钟,占2位,ss为时间中的秒,占2位。

日期时间型数据中可以只包含一个日期或者只包含一个时间值,缺省日期值时,系统自动加上1999年12月31日,省略时间值时,则自动加上午夜零点。

(5)逻辑型(Logical):用于存储只有两个值的数据。存入的值只有真(.T.)和假(.F.)两种状态,占1个字节。

(6)数值型(Numeric):用来表示数量,它由数字0~9、一个符号(+或-)和一个小数点(.)组成。数值型数据的长度为1~20,每个数据占8个字节。

数值型数据取值的范围是:

-0.9999999999E+19~0.9999999999E+20

以下数据类型只能被用于数据表中的字段:

(7)双精度型(Double):用于取代数值型,以便能提供更高的数值精度。双精度型只能用于数据表中字段的定义,它采用固定存储长度的浮点数形式。与数值型不同,双精度型数据的小数点的位置是由输入的数据值来决定的。每个双精度型数据占8个字节。

(8)浮点型(Float):只能用于数据表中字段的定义,包含此类型是为了提供兼容性,浮点型在功能上与数值型等价。

(9)通用型(General):用于存储OLE对象,只能用于数据表中字段的定义。该字段包含了对OLE对象的引用,而OLE对象的具体内容可以是一个电子表格、一个字处理器的文本、图片等,是由其他应用软件建立的。

(10)整型(Integer):用于存储无小数部分的数值,只能用于数据表中字段的定义。在数据表中,整型字段占用4个字节,取值范围是:

-2147483647~2147483647

整型以二进制形式存储,不像数值型那样需要转换成ASCII字符存储。

(11)备注型(Memo);备注型用于字符型数据块的存储,只能用于数据表中字段的定义。在数据表中,备注型字段占用10个字节,并用这10个字节来引用备注的实际内容。实际备注内容的多少只受内存可用空间的限制。

备注型字段的实际内容变化很大,不能直接将备注内容存在数据表(.DBF)文件中。

系统将备注内容存放在一个相对独立的文件中,该文件的扩展名为.DBT。

由于没有备注型的变量,所以对备注型字段的处理,需转换成字符型变量,然后使用字符型函数进行处理。

二、常量与变量

在程序的运行过程中,把需要处理的数据存放在内存储器中,称始终保持不变的数据为“常量”,称存放可变数据的存储器单元为“变量”,其中的数据称为变量的值。

1.常量

常量是一个命名的数据项,在整个操作过程中其值保持不变。如PI值,即3.1415926535是数值型常量。 VFP定义了如下类型的常量:

数值型常量,如:20,16,100,1

字符型常量,用单引号或双引号括起来的字符串,如:"ABCD"

逻辑型常量,只有两种:.T.和.F.

日期型常量和日期时间型常量,如:{^1999-04-22},{^1999-04-24 10:00am}

2.变量

VFP有3种形式的变量:

内存变量——存放单个数据的内存单元

数组变量——存放多个数据的内存单元组

字段变量——存放在数据表中的数据项

每个变量都有一个名称,叫做变量名,VFP通过相应的变量名来使用变量。变量名的命名规则是:

(1)以字母、数字及下划线组成,中文VFP可以使用汉字作变量名。

(2)以字母或下划线开始,中文VFP可以汉字开始。

(3)长度为1~128个字符,每个汉字占2个字符。

(4)不能使用VFP的保留字。

变量的作用域包括定义它的过程以及该过程所调用的子过程范围。

三、运算符与表达式

运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,而参与运算的数据称为操作数。表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。

表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。表达式的类型由运算符的类型决定。在VFP中有5类运算符和表达式:

算术运算符和算术表达式

字符串运算符和字符串表达式

日期运算符和日期表达式

关系运算符和关系表达式

逻辑运算符和逻辑表达式

1.算术运算符与算术表达式

算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。例如:50*2+(70—6)/8的运算结果为108.00。算术表达式的格式为:

数值1算术运算符1数值2[算术运算符2数值3…]

(1)算术运算符。

VFP提供的算术运算符如表1。1所示。在这6个算术运算符中,除取负“-”是单目运算符外,其他均为双目运算符。它们运算的含义与数学中基本相同。

表1.1 算术运算符

运算符 名称 说 明

+ 加 同数学中的加法

- 减 同数学中的减法

* 乘 同数学中的乘法

/ 除 同数学中的除法

^或** 乘方 同数学中的乘方,如4^3表示43

% 求余 12%5表示12除以5所得的余数2

算术运算符的优先权依次为:

( ) → ^、** → *、/ → % → +、-

(2)表达式的书写规则。

算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:

每个符号占1格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。例如:23要写成2^3,Xl十X2要写成X1+X2。

原来在数学表达式中省略的内容必须重新写上。例如:2X要写成2*X。

所有括号都用小括号(),且括号必须配对。例如:3[x+2(y+z)]必须写成3*(x+2*(y+z))。

要把数学表达式中的有些符号,改成VFP中可以表示的符号。例如:要把2πr改为2*pi*r。

2.字符串运算符与字符串表达式

一个字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符组成。它可以是一个简单的字符串常量,也可以是若干个字符串常量或字符串变量的组合。VFP提供的字符运算符有两个(其运算级别相同),如表1-2所示。

表1-2 字符运算符

运算符 名称 说明

+ 连接 将字符型数据进行连接

- 空格移位连接 将前一数据尾部的空格移到后面数据的尾部

字符串表达式的格式为

字符串1字符串运算符1字符串2

[字符串运算符2字符串3…]

例如:

"ABCl23"+"666xyz"连接后结果为:"ABCl23666xyz"

"计算机"+"世界" 连接后结果为:"计算机世界"

"ABC "-"DEFG" 连接后结果为:"ABCDEFG "

"ABC "+"DEFG" 连接后结果为:"ABC DEFG "

字符串表达式的值为字符串。

在字符串中嵌入引号,只需将字符串用另一种引号括起来即可。例如:

QM="'"

S=S+QM+ALLTRIM(THIS.Edit1.Value)+QM+","

3.日期时间运算符与日期时间表达式

日期型表达式由算术运算符“+、-”、算术表达式、日期型常量、日期型变量和函数组成。日期型数据是一种特殊的数值型数据,它们之间只能进行加“+”、减“-”运算。有下面3种情况:

两个日期型数据可以相减,结果是一个数值型数据(两个日期相差的天数)。例如:

{^1999/12/19}-{^1999/11/16}结果为数值型数据:33

一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日期型数据(向后推算的日期)。例如:{^1999/11/16}+33结果为日期型数据:{^1999/12/19}

一个表示天数的数值型数据可从日期型数据中减掉它,其结果仍然为一日期型数据(向前推算的日期)。例如:{^1999/12/19}-33 ,结果为日期型数据:{^1999/11/16}

VFP将无效的日期处理成空日期。

4.类与对象运算符

类与对象运算符专门用于实现面向对象的程序设计。有以下两种:

.——点运算符,确定对象与类的关系,以及属性、事件和方法与其对象的从属关系。

::——作用域运算符,用于在子类中调用父类的方法。

5.名表达式

在VFP中,许多命令和函数需要提供一个名。可在VFP中使用的名有:

表/.DBF文件名 、 表/.DBF别名 、 表/.DBF字段名 、 索引文件名、文件名、 内存变量和数组名、窗口名、 菜单名、表单名、 对象名、 属性名、 …

在VFP中定义一个名时,需要遵循以下原则:

名中只能使用字母或下划线开始。

名中只能使用字母、数字和下划线字符。

不能使用VFP的保留字。

名的长度可以为1—128个字符,但自由表中的字段名、索引标记名最多为10个字符。文件名按操作系统的规定。

名不是变量或字段,但是可以定义一个名表达式,以代替同名的变量或字段的值。

名表达式为VFP的命令和函数提供了灵活性。将名存放到变量或数组元素中,就可以在命令或函数中用变量来代替该名,只要将存放一个名的变量或数组元素用一对括号括起来。如:

STORE "CITY" TO a

REPLACE (a) WITH "Beijing"

字段名CITY被存放在变量a中,在使用REPLACE命令时,名表达式(a)将用字段名代替变量。这种方法称为间接引用。

四、函数

对于用户来说,程序设计语言中的函数与数学上的函数没有什么区别,使用函数要有参数(自变量),可以从函数得到一个返回的值(因变量)。而从程序设计的角度来看,函数是子程序的一种,它能完成一种特定的运算。

1.函数的分类

VFP的函数有两种,一种是用户自定义的函数,一种是系统函数。自定义函数由用户根据需要自行编写 , 系统函数则是由VFP提供的内部函数,用户可以随时调用。

VFP提供的系统函数大约有380多个,主要分为:数值函数、字符处理函数、表和数据库函数、日期时间函数、类型转换函数、测试函数、菜单函数、窗口函数、数组函数、SQL查询函数、位运算函数、对象特征函数、文件管理函数以及系统调用函数等14类。

2.常用函数

VFP提供了大量的系统函数供编程人员使用,下面列出常用的一些函数。

(1)数学函数

函数格式 说 明

ABS(N) 求N的绝对值

COS(N) 求N的余弦函数

EXP(N) 求N的e指数函数

INT(N) 取N的整数,对负数取较小的整数

LOG(N) 求N的自然对数

MAX(N1,N2) 求N1、N2中的最大者

MIN(N1,N2) 求N1、N2中的最小者

MOD(N1,N2) 求N1除以N2的余数

PI() 求圆周率

RAND(N) 产生0—1之间的随机数

ROUND(N1,N2) 按N2指定的小数位数求N1四舍五入后的值

SIGN(N) 求N的正负符号

SIN(N) 求N的正弦函数

SQRT(N) 求N的平方根

TAN(N) 求N的正切函数

(2)字符串函数

函数格式

说 明

ALLTRIM(C) 去掉C的前导空格和尾随空格

ASC(C) 求C中最左边一个字符的ASCII码值

AT(C1,C2) 返回C1在C2中出现的开始位置(整数值)

LEFT(C,n) 从字符串C的左边取长度为n的子串

LEN(C) 求字符串C长度

RIGHT(C,n) 从字符串C的右边取长度为n的子串

L0WER(C) 将字符串C中的大写字母转换为小写字母

SPACE(n) 返回n个空格字符组成的字符串

SUBSTR(C,n[,m]) 从字符串C中提取从n开始的m个字符的子串,若省略m则取n开始的所有字符

UPPER(C) 将字符串表达式中的小写字母转换为大写字母

(3)日期函数

函数格式 说 明

DATE() 系统当前日期

TIME() 系统当前时间

DATETIME() 系统当前日期和时间

DOW(D) 取日期表达式D的星期号(1为星期天)

YEAR(D) 取日期D的年份值

MONTH(D) 取日期D的月份值

DAY(D) 取日期D在月份中的天数值

HOUR(D) 取时间D中的小时数

MINUTE(D) 取时间D中的分钟数

SEC(D) 取时间D中的秒数

(4)类型转换函数

函数格式

说 明

CHR(ASCII码) 返回与ASCII码相应的字符

CTOD(C) 转换C表达式为对应的日期值

CTOT(C) 转换C表达式为对应的日期时间值

DTOC(D) 转换日期表达式D为字符串

STR(N,n,m) 转换数值表达式N为数字字符串

TTOC(D) 转换日期时间表达式D为字符串

VAL(C) 返回数字字符串C对应的数值

五、对象的属性、事件与方法

对象(object)在现实生活中是很常见的,如:一个人是一个对象,一台PC机是一个对象。如果将一台PC机拆开来看便有“显示器、机箱、软盘驱动器、硬盘、键盘、鼠标器…”,每一个又都是一个对象,即PC机对象是由多个“子”对象组成的。此时PC机又称为一个包容器(Container)对象。在可视化编程中,对象是应用程序的基本元素,常见的对象有表单、文本框、列表框等。

从可视化编程的角度来看,对象是一个具有属性(数据)和方法(行为方式)的实体。一个对象建立以后,其操作就通过与该对象有关的属性、事件和方法来描述。

1、对象的属性

属性(Propeny)是指对象的一项描述内容,用来描述对象的一个特性,不同的对象有不同的属性,而每个对象又都由若干属性来描述。在可视化编程中,常见的属性有标题(Caption)、名称(Name)、背景色(Backcolor)、字体大小(FontSize)、是否可见(Visible)等。通过修改或设置某些属性便能有效地控制对象的外观和操作。

属性值的设置或修改可以通过属性窗口来进行,也可以通过编程的方法在程序运行的时候来改变对象的属性。在程序中设置属性的一般格式是:

表单名.对象名.属性名=属性值

2.对象的事件

所谓事件(Event),是由VFP预先定义好的、能够被对象识别的动作,如单击(Click)事件、双击(DblClick)事件、装入(Load)事件、移动鼠标(MouseMove)事件等,不同的对象能识别的事件不全相同。对象的事件是固定的,用户不能建立新的事件。为此,VFP提供了丰富的内部事件,这些事件足以应付Windows中的绝大部分操作需要。

事件过程(Event Procudure)是为处理特定事件而编写的一段程序。当事件由用户触发(如C1ick)或由系统触发(如Load)时,对象就会对该事件作出响应(Respond)。响应某个事件后所执行的程序代码就是事件过程。

3.对象的方法

方法(Method)是与对象相关联的过程,但又不同于一般的Visual FoxPro过程。方法程序紧密地和对象连接在一起,并且与一般Visual FoxPro过程的调用方式也有所不同。

与事件过程类似,VFP的方法属于对象的内部函数,只是方法用于完成某种特定的功能而不一定响应某一事件,如添加对象(Addobject)方法、绘制矩形(Box)方法、释放表单(Release)方法等。方法也被“封装”在对象中,不同的对象具有不同的内部方法。VFP提供了百余个内部方法供不同的对象调用。与事件过程不同的是,根据需要可由用户自行建立新方法。

4.事件与方法的程序调用

事件过程由事件的激发而调用其代码,也可以在运行中由程序调用其代码,而方法的代码只能在运行中由程序调用。

在程序中调用事件代码的格式是:

表单名.对象名.事件名

在程序中调用对象方法的格式是

[[变量名]=]表单名.对象名.方法名

六、控件与对象

Visual FoxPro编程的最大特点,就是在可视的环境下以最快的速度和效率开发具有良好用户界面的应用程序,其实质就是利用VFP所提供的图形构件快速构造应用程序的输入输出屏幕界面。控件(Control)是某种图形构件的统称,如“标签控件”、“文本框控件”、“列表框控件”等,利用控件创建对象则是构造应用程序界面的具体方法。

1.常用控件和内部对象

常用控件由VFP的基类提供,共21个,每个控件用“表单控件”按钮表示,如表1-7所示(P17)。

2.表单对象

表单(Form)是应用程序的用户界面,也是进行程序设计的基础。各种图形、图像、数据等都是通过表单或表单中的对象显示出来,因此表单是一个容器对象。

在FoxPro的早期版本中表单被称为屏幕(Screen),在Visual Basic中则称为窗体。

(1)表单的结构。

VFP的表单具有和Windows应用程序的窗口界面相同的结构特征。一个典型的表单有图标、标题、极小化按钮、极大化按钮、关闭按钮、移动栏、表单体及其周围的边框。其中除了表单体之外的所有特征都可以部分或全部从表单中被删除。

(2)表单属性

在VFP中,表单的属性就是表单的结构特征。通过修改表单的属性可以改变表单的内常用的表单属性如表1—8所示。

属性名 作 用

AutoCenter 用于控制表单初始化时是否总是位于VFP窗口或其父表单的中央

BackColor 用于确定表单的背景颜色

BorderStyle 用于控制表单是否有边框:系统(可调)、单线、双线

Caption 表单的标题

Closable 用于控制表单的标题栏中的关闭按钮是否能用

ControlBox 用于控制表单的标题栏中是否有控制按钮

MaxButton 用于控制表单的标题栏中是否有极大化按钮

MinButton 用于控制表单的标题栏中是否有极小化按钮

Movable 用于控制表单是否可移动

TitleBar 用于控制表单是否有标题栏

WindowState 用于控制表单是极小化、极大化还是正常状态

WindowType 若表单是模式表单,则用户在访问windows屏幕中其他任何对象前必须关闭该表单

(3)表单的事件与方法。

就像属性那样,只有部分的表单事件与方法经常被使用,很多事件与方法很少被使用,除非你在编写一个非常复杂的应用程序。可以在代码窗口的“过程”下拉列表框中看到所有表单事件与方法的列表,也可以在“属性”窗口的“方法程序”选项卡中看到所有表单事件与方法的列表。

下面只列举那些最常用的事件与方法。

常用的表单事件:

Load事件——当表单被装入内存时发生;

Init事件——当表单被初始化时发生;

Activate事件——当表单被激活时发生。

上述事件被激发的顺序为Load、Init、Activate。

Destroy事件——当表单被释放时发生;

Unload事件——当表单被关闭时发生。

上述事件被激发顺序为Unload、Destroy。

Resize事件——当用户或程序去改变表单的大小时

发生。

常用的表单方法:

Hide方法——隐藏表单;

Show方法——显示表单;

Release方法——释放表单;

Refresh方法——刷新表单。

3.对象的引用

(1)对象的包容层次。

VFP中的对象根据它们所基于的类的性质可分为两类:容器类对象和控件类对象。

容器类对象可以包含其他对象,并且允许访问这些对象,例如表单集、表单、表格等控件类对象只能包含在容器对象之中,而不能够包含其他对象,例如命令按钮、复选框等。表1-9(P20)列出了每种容器类对象所能包含的对象。

(2)对象的引用。

作为应用程序的用户界面,表单上可以包含许多对象,而这些对象又有可能具有互相包含的层次关系。若要引用一个对象,需要知道它相对于容器层次的关系。例如,如果要在表单集中处理一个表单的控件,则需要引用表单集、表单和控件。

1)绝对引用:通过提供对象的完整容器层次来引用对象。

若要使表列中的控件无效,需要提供以下地址:

Formset.Form.PageFrame.Page.Grid.Column.Control.Enabled=.F.

2)相对引用:在容器层次中引用对象时,可以通

过快捷方式指明所要处理的对象。

例如:THISFORMSET.Frml.Cmdl.Caption="关闭"

表示将本表单集的名为Fnnl的表单中的Cmdl对象的标题(Caption)属性设置为"关闭"。

THISFORM.Cmdl.Caption="关闭"

表示将本表单的名为Cmdl对象的标题(Caption)属性设置为"关闭"。

THIS.Caption=”关闭”

对于需要改变标题的控件,表示将本对象的标题(Caption)属性设置为"关闭"。

THIS.Parent.BackColor=RGB(192,0g0)

表示将本对象的父对象的背景色设置为暗红色。

表1—10列出了一些属性和关键字,这些属性和关键字允许更方便地从对象层次中引用对象。

表1-10 引用对象的属性和关键字

属性或关键字 引 用

ActiveControl 当前活动表单中具有焦点的控件

ActiveForm 当前活动表单

ActivePage 当前活动表单中的活动页

Parent 该对象的直接容器

THIS 该对象

THISFORM 包含该对象的表单

THISFORMSET 包含该对象的表单集

说明:只能在方法程序或事件过程中使用THIS、

THISFORM和THISFORMSET。

谁有VFP的程序设计基础题目哦?

给你10套上机题:

第1题、

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)

注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到SQL1.txt文件,

每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;

如果某道题没有做相应行为空。

在考生文件夹下完成下列操作:

1. 利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf。

2. 利用SQL INSERT命令插入记录("600028",4.36, 4.60, 5500)到stock_bk.dbf表。

3. 利用SQL UPDATE命令将stock_bk.dbf表中"股票代码"为600007的股票"现价"改为8.88。

4. 利用SQL DELETE命令删除stock_bk.dbf表中"股票代码"为600000的股票。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进

sc2中。根据score2表建立一个视图score_view,视图中包含的字段与

score2表相同,但视图中只能查询到积分小于等于1500的信息。 然后利用

新建立的视图查询视图中的全部信息,并将结果按积分升序存入表v2。

2、建立一个菜单filemenu,包括两个菜单项"文件"和"帮助", "文件"将激活

子菜单,该子菜单包括"打开"、"存为"和 "关闭"三个菜单项;"关闭"子菜

单项用SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能

不做要求。

三、综合应用(1小题,计30分)

在考生文件夹下有学生成绩数据库XUESHENG3,包括如下所示三个表文件以及相

关的索引文件:

1、XS.DBF(学生文件: 学号 C8,姓名 C8,性别 C2,班级 C5;另有索引文件

XS.IDX,索引键:学号)

2、CJ.DBF(成绩文件: 学号 C8,课程名 C20,成绩 N5.1;另有索引文件

CJ.IDX,索引键:学号)

3、CJB.DBF(成绩表文件:学号 C8,班级 C5,姓名 C8,课程名 C12,成绩

N5.1)

设计一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。

程序运行时, 单击"计算"菜单项应完成下列操作:

将所有选修了"计算机基础"的学生的"计算机基础"成绩, 按成绩由高到低的顺

序填列到成绩表文件CJB.DBF中(事前须将文件中原有数据清空)。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第2题、

一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)

在考生文件夹下完成下列操作(在"成绩管理"数据库中完成):

1. 为"学生"表在"学号"字段上建立升序主索引,索引名为学号;

2. 为"学生"表的"性别"字段定义有效性规则,规则表达式为:性别$"男女"出错

提示信息是:"性别必须是男或女"。

3. 在"学生"表的"性别"和"年龄"字段之间插入一个"出生日期"字段,数据类型

为"日期型"(修改表结构);

4. 用SQL的UPDATE命令将学生"王三风"的出生日期修改为1983年5月1日,并将该

语句粘贴在SQL2.TXT文件中(第一行、只占一行)。

二、简单应用(2小题,每题20分,计40分)

1、根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是

"南京大学" 的所有教师的姓名、职称、电话,要求查询去向是表,表名

是query2.dbf,并执行该查询。

2、建立表单enterf,表单中有两个命令按钮,按钮的名称分别为cmdin和

cmdout,标题分别为"进入"和"退出"。

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库CK3,包括如下所示两个表文件:

CK(仓库号C(4),城市C(8),面积N(4))

ZG(仓库号C(4),职工号C(4),工资N(4))

设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。

程序运行时,单击"统计"菜单项应完成下列操作:检索出所有职工的

工资都大于 1220元的职工所管理的仓库信息,将结果保存在wh1数据表(WH1为

自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排

序。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第3题、

一、基本操作(共四小题,第1和2题是7分、第3和4题是8分

1、请在考生文件夹下建立一个数据库KS4。

2、将考生文件夹下的自由表STUD、COUR、SCOR加入到数据库KS4中。

3、为STUD表建立主索引,索引名和索引表达式均为学号;

为COUR表建立主索引,索引名和索引表达式均为课程编号;

为SCOR表建立两个普通索引,其中一个索引名和索引表达式均为学号;另

一个索引名和索引表达式均为课程编号。

4、在以上建立的各个索引的基础上为三个表建立联系。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT、SCORE和

COURSE。

利用SQL语句查询选修了"网络工程"课程的学生的全部信息,并将结果按学

号降序存放在 NETP.DBF文件中(库的结构同STUDENT,并在其后加入课程号

和课程名字段)。

2、在考生文件夹中有一个数据库STSC,其中有数据库表STUDENT,使用一对多

报表向导制作一个名为CJ2的报表,存放在考生文件夹中

要求:选择父表STUDENT 表中学号和姓名字段,从子表SCORE中选择课程号

和成绩,排序字段选择学号(升序),报表式样为简报式,方向为纵向。报表

标题为"学生成绩表"。

三、综合应用(1小题,计30分)

在考生文件夹下有工资数据库WAGE3,包括数据表文件:ZG(仓库号C(4),

职工号C(4),工资N(4))

设计一个名为TJ3的菜单,菜单中有两个菜单项"统计"和"退出"。

程序运行时,单击"统计"菜单项应完成下列操作:检索出工资小于或

等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在

仓库号相同的情况下再按职工号升序存放到EMP1(EMP1为自由表)文件中,该

数据表文件和ZG数据表文件具有相同的结构。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第4题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、请在考生文件夹下建立一个项目WY。

2、将考生文件夹下的数据库KS4加入到新建的项目WY中去。

3、利用视图设计器在数据库中建立视图 NEW_VIEW,视图包括GJHY表的全部字

段(顺序同GJHY中的字段)和全部记录。

4、从表HJQK中查询"奖级"为一等的学生的全部信息(HJQK表的全部字段),

并按分数的降序存入存入新表NEW1中。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下,有一个数据库CADB,其中有数据库表ZXKC和ZX。

表结构如下:

ZXKC(产品编号,品名,需求量,进货日期)

ZX(品名,规格,单价,数量)

在表单向导中选取一对多表单向导创建一个表单。要求:从父表zxkc中选取

字段产品编号和品名,从子表zx中选取字段规格和单价,表单样式选取 "阴

影式" ,按钮类型使用 "文本按钮" ,按产品编号升序排序,表单标题

为"照相机",最后将表单存放在考生文件夹中,表单文件名是form2。

2、在考生文件夹中有数据库CADB,其中有数据库表ZXKC和ZX。建立单价大于等

于800,按规格升序排序的本地视图 CAMELIST,该视图按顺序包含字段产品

编号、品名、规格和单价,然后使用新建立的视图查询视图中的全部信息,

并将结果存入表v_camera。

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库CHAXUN3包括三个表文件:

ZG(仓库号 C(4),职工号 C(4),工资 N(4))

DGD(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总

金额 N(10))

GYS(供应商号 C(4),供应商名 C(16),地址 C(10))

设计一个名为CX3的菜单,菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询"应完成下列操作:检索出工资多于1230元的职工向北

京的供应商发出的订购单信息,并将结果按总金额降序排列存放在ord1文件

(和DGD文件具有相同的结构,ord1为自由表)中。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第5题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、打开数据库PROD_M及数据库设计器,其中的两个表的必要的索引已经建立,

为这两个表建立永久性联系

2、设置CATEGORY表中"种类名称"字段的默认值为:"饮料"。

3、为PRODUCTS表增加字段:优惠价格N(8,2)。

4、如果所有商品的优惠价格是在进货价格基础上减少12%,计算所有商品的

优惠价格。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个数据库GCS,其中GONGCH表结构如下:

GONGCH(编号C(4),姓名C(10),姓别C(2),工资N(7,2),年龄N(2),

职称C(10))

现在要对GONGCH表进行修改,指定编号为主索引,索引名和索引表达式均为

编号;指定职称为普通索引,索引名和索引表达式均为职称;年龄字段的有

效性规则在25至65之间(含25和65),默认值是45。

2、在考生文件夹中有数据库GCS,其中有数据库表GONGCH。

在考生文件夹下设计一个表单,该表单为GCS库中GONGCH表窗口式输入界

面,表单上还有一个名为cmdCLOSE的按钮,标题名为 "关闭",点击该按

钮,使用 ThisForm.release退出表单。最后将表单存放在考生文件夹中,

表单文件名是C_FORM。

提示:在设计表单时,打开GCS数据库设计器,将GONGCH表拖入到表单中就

实现了GONGCH 表的窗口式输入界面,不需要其他设置或修改。

三、综合应用(1小题,计30分)

在考生文件夹下有仓库数据库GZ3包括两个表文件:

ZG(仓库号C(4),职工号C(4),工资N(4))

DGD(职工号C(4),供应商号C(4),订购单号 C(4),订购日期D,总金

额N(10))

首先在GZ3库中建立工资文件数据表:GJ3(职工号C(4),工资N(4))

设计一个名为YEWU3的菜单,菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询"应完成下列操作:检索出与供应商S7、S4和S6都有

业务联系的职工的职工号和工资,并按工资降序存放到所建立的GJ3文件中。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第6题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立数据库KS7;并将自由表SCOR加入数据库中。

2、按下面给出的表结构。给数据库添加表STUD

字段 字段名 类型 宽度 小数

1 学号 字符型 2

2 姓名 字符型 8

3 年龄 数值型 2 0

4 性别 字符型 2

5 院系号 字符型 2

3、为表STUD建立主索引,索引名为学号,索引表达式为学号

为表SCOR建立普通索引,索引名为学号,索引表达式为学号

4、STUD表和SCOR表必要的索引已建立,为两表建立永久性的联系。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个学生数据库STU,其中有数据库表STUDENT存放学生信

息,使用菜单设计器制作一个名为STMENU的菜单,菜单包括"数据操

作"和"文件"两个菜单栏。

每个菜单栏都包括一个子菜单。菜单结构如下:

数据操作

数据输出

文件

保存

退出

其中:

数据输出子菜单对应的过程完成下列操作:打开数据库STU,使用SQL的

SELECT语句查询数据库表STUDENT 中所有信息,然后关闭数据库。

退出菜单项对应的命令为SET SYSMENU TO DEFAULT,使之可以返回到系统菜

单。保存菜单项不做要求。

2、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2、SC和

COURSE2。三个表如下所示:

STUDENT2(学号,姓名,年龄,性别,院系编号)

SC(学号,课程号,成绩,备注)

COURSE2(课程号,课程名,先修课号,学分)

用SQL语句查询"计算机软件基础"课程的考试成绩在85分以下(含85分)的学

生的全部信息并将结果按学号升序存入 NOEX.DBF文件中。(库的结构同

STUDENT2,并在其后加入成绩字段)。

三、综合应用(1小题,计30分)

现有医院数据库DOCT3,包括三个表文件:YISHENG.DBF(医生)、

YAO.DBF(药品)、CHUFANG.DBF(处方)。设计一个名为CHUFANG3的菜单,

菜单中有两个菜单项"查询"和"退出"。

程序运行时,单击"查询"应完成下列操作: 查询同一处方中,包含"感冒"两个

字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方

号升序排序存入JG9数据表中。JG9的结构为:(姓名,年龄,处方号,药名,生产

厂)。最后统计这些医生的人数(注意不是人次数),并在JG9中追加一条记录,将

人数填入该记录的处方号字段中。

单击"退出"菜单项,程序终止运行。

(注:相关数据表文件存在于考生文件夹下)

第7题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立数据库CUST_M。

2、把考生文件夹下的自由表CUST和ORDER1加入到刚建立的数据库中。

3、为CUST表建立主索引,索引名为 primarykey,索引表达式为客户编号。

4、为ORDER1表建立侯选索引,索引名为candi_key,索引表达式为订单编号。

为ORDER1表建立普通索引,索引名为regularkey,索引表达式为客户编号。

二、简单应用(2小题,每题20分,计40分)

1、根据order1表建立一个视图order_view,视图中包含的字段及顺序与order1表相同,但视图中只能查询到金额小于1000的信息。

然后利用新建立的视图查询视图中的全部信息,并将结果按订单编号升序存入表v1。

2、建立一个菜单my_menu,包括两个菜单项"文件"和"帮助","文件"将激活子菜单,该子菜单包括"打开"、"存为"和"关闭"三个菜单项,"关闭"子菜单项用 SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。

三、综合应用(1小题,计30分)

在考生文件夹下有学生管理数据库BOOKS,数据库中有score表(含有学号、物

理、高数、 英语和学分5个字段,具体类型请查询表结构),其中前4项已有数

据。

请编写符合下列要求的程序并运行程序:

设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为

cmdYes和 cmdNo,标题分别为"计算"和"关闭"。程序运行时,单击"计算"按钮

应完成下列操作:

(1)计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理

60分以上 (包括60分)2学分,否则0分;高数60分以上(包括60分)3学分,否

则0分;英语60分以上(包括60分) 4学分,否则0分。

(2)根据上面的计算结果,生成一个新的表 xf,(要求表结构的字段类型与

score表对应字段的类型一致),并且按学分升序排序,如果学分相等,则按

学号降序排序。

单击"关闭"按钮,程序终止运行。

第8题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立项目SALES_M。

2、在新建立的项目中建立数据库CUST_M。

3、把自由表CUST和ORDER1加入到新建立的数据库中。

4、为确保ORDER1表元组唯一,请为ORDER1表建立候选索引,索引名为订单编号,索

引表达式为订单编号。

二、简单应用(2小题,每题20分,计40分)

1、根据order1表和cust表建立一个查询query1,查询出公司所在地是"北京"的所

有公司的名称、订单日期、送货方式,要求查询去向是表,表名是

query1.dbf,并执行该查询。

2、建立表单my_form,表单中有两个命令按钮,按钮的名称分别为cmdYes和

cmdNo,标题分别为"登录"和"退出"。

三、综合应用(1小题,计30分)

在考生文件夹下有股票管理数据库stock,数据库中有表stock_sl、stock_fk

表。

stock_sl的表结构是股票代码C(6)、买入价N(7.2)、现价N(7.2)、持有数量

N(6)。

stock_fk的表结构是股票代码C(6),浮亏金额N(11.2)。

请编写并运行符合下列要求的程序:

设计一个名为menu_lin的菜单,菜单中有两个菜单项"计算"和"退出"

程序运行时,单击"计算"菜单项应完成下列操作:

(1)将现价比买入价低的股票信息存入stock_fk表,其中:

浮亏金额=(买入价-现价)*持有数量

(注意要先把表的stock_fk内容清空)。

(2)根据stock_fk表计算总浮亏金额,存入一个新表stock_z中,其字段名为浮

亏金额,类型为 N(11.2),该表最终只有一条记录(该表属于库STOCK)。

单击"退出"菜单项,程序终止运行。

第9题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下打开数据库CUST_M,为CUST表建立主索引,索引名为客户编号,

索引表达式为客户编号。

2、CUST表和ORDER1表中必要的索引已经建立,为两表建立永久性联系。

3、为CUST表增为字段:客户等级C(2) ,字段值允许为空。

4、为ORDER1表"金额"字段增加有效性规则: 金额大于零,否则提示:金额必须

大于零。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2,SC和

COURSE2。三个表如下所示:

STUDENT2(学号,姓名,年龄,性别,院系编号)

SC(学号,课程号,成绩,备注)

COURSE2(课程号,课程名,先修课号,学分)

在考生文件夹下有一个程序dbtest3.prg,该程序的功能是定义一个视图VS1,

检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选

课门数和院系编号,并按平均成绩降序排序。请修改程序中的错误,并调试

该程序,使之正确运行。不得增加或删减程序行。

2、在考生文件夹下有一个数据库CUST_M,数据库中有CUST和ORDER1两个表。请

使用菜单设计器制作一个名为 MY_MENU的菜单,菜单只有"浏览"一个菜单

项。

浏览菜单项中有"客户"、"订单"和"退出"三个子菜单:

客户子菜单使用SELECT * FROM CUST命令对CUST表查询;

订单子菜单使用SELECT * FROM ORDER1命令对ORDER1表查询;

退出子菜单使用SET SYSMENU TO DEFAULT命令返回系统菜单。

三、综合应用(1小题,计30分)

在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是

学号C(10)、物理I、高数I、英语I和平均分 N(6.2)。成绩如果用-1表示,说明

学生没有选学该门课程。其中 ,该表前四项已有数据。

请编写并运行符合下列要求的程序:

设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为

cmdYes和CmdNo,标题分别为"统计"和"关闭"。

程序运行时,单击"统计"按钮应完成下列操作:

(1)计算每一个学生的平均分存入平均分字段。注意:分数为-1不记入平均分,

例如一个学生的三门成绩存储的是90,-1,70,平均分应是80。

(2)根据上面的计算结果,生成一个新的表PJF ,该表只包括学号和平均分两

项,并且按平均分的降序排序,如果平均分相等,则按学号升序排序。

单击"关闭"按钮,程序终止运行。

第10题、

一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)

1、在考生文件夹下建立项目SALES_M。

2、把考生文件夹中的数据库CUST_M加入SALES_M项目中。

3、为CUST_M数据库中CUST表增加字段:联系电话C(12),字段值允许"空"

4、为CUST_M数据库中ORDER1表"送货方式"字段设计默认值为"铁路"。

二、简单应用(2小题,每题20分,计40分)

1、在考生文件夹下,有一个数据库SDB,其中有数据库表STUDENT、SC和

COURSE。表结构如下:

STUDENT(学号,姓名,年龄,性别,院系号)

SC(学号,课程号,成绩,备注)

COURSE(课程号,课程名,先修课程号,学分)

在表单向导中选取一对多表单向导创建一个表单。要求:从父表STUDENT中

选取字段学号和姓名,从子表SC中选取字段课程号和成绩,表单样式选

"浮雕式",按钮类型使用"文本按钮",按学号降序排序,表单标题为"学生

成绩" ,最后将表单存放在考生文件夹中,表单文件名是form1。

2、在考生文件夹中有一数据库SDB,其中有数据库表STUDENT,SC和COURSE。建

立成绩大于等于60分,按学号升序排序的本地视图GRADELIST,该视图按顺

序包含字段学号、姓名、成绩和课程名,然后使用新建立的视图查询视图中

的全部信息,并将结果存入表v_grade。

三、综合应用(1小题,计30分)

在考生文件夹下有股票管理数据库stock_4,数据库中有stock_mm表和stock_cc

表,stock_mm的表结构是股票代码C(6)、买卖标记L(.T.表示买进,.F.表示卖

出),单价N(7.2)、本次数量N(6)。stock_cc的表结构是股票代码C(6),持仓

数量N(8)。 stock_mm表中一只股票对应多个记录,stock_cc表中一只股票对应

一个记录(stock_cc表开始时记录个数为0)。

请编写并运行符合下列要求的程序:

设计一个名为menu_lin的菜单,菜单中有两个菜单项"计算"和"退出"。

程序运行时,单击"计算"菜单项应完成下列操作:

(1)根据stock_mm统计每只股票的持仓数量,并将结果存放到stock_cc表。计算

方法:买卖标记为.T.(表示买进),将本次数量加到相应股票的持仓数量;

买卖标记为.F.(表示卖出),将本次数量从相应股票的持仓数量中减去。

(注意:stock_cc表中的记录按股票代码从小到大顺序存放)。

(2)将stock_cc表中持仓数量最少的股票信息存储到自由表stock_x中(与

stock_cc表结构相同)。

单击"退出"菜单项,程序终止运行。

vfp周测月考综合卷的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于bbf周测月考、vfp周测月考综合卷的信息别忘了在本站进行查找喔。

本文转载自互联网,如有侵权,联系删除