1、国家二级 VF机试模拟试卷 255及答案与解析 一、选择题 1 线性表常采用的两种存储结构是 ( )。 ( A)散列方法和索引方式 ( B)链表存储结构和数组 ( C)顺序存储结构和链式存储结构 ( D)线性存储结构和非线性存储结构 2 软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和 ( )。 ( A)阶段性报告 ( B)需求分析 ( C)需求总结 ( D)都不正确 3 在软件生命周期中,能准确地确定软件系统必须做什么和必 须具备哪些功能的阶段是 ( )。 ( A)需求分析 ( B)详细设计 ( C)软件设计 ( D)概要设计 4 对建立良好的程序设计风格,
2、下面描述正确的是 ( )。 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 5 下列工具中,不属于结构化分析的常用工具的是 ( )。 ( A)数据流图 ( B)数据字典 ( C)判定树 ( D) N-S图 6 在软件生产过程中 ,需求信息的来源是 ( )。 ( A)程序员 ( B)项目经理 ( C)设计人员 ( D)软件用户 7 对关系 s和 R进行集合运算,结果中既包含 S中的所有元组也包含 R中的所有元组,这样的集合运算称为 ( )。 ( A)并运算 ( B)交运算 ( C)差运算 ( D)积运算 8 设有关
3、键码序列 (Q, G, M, Z, A, N, B, P, X, H, Y, S, T, L, K, E),采用堆排序法进行排序,经过初始建堆后关键码值 B在序列中的序号是 ( )。 ( A) 1 ( B) 3 ( C) 7 ( D) 9 9 数据库的故障恢复一般是由 ( )来执行恢复。 ( A)电脑用户 ( B)数据库恢复机制 ( C)数据库管理员 ( D)系统普通用户 10 下列选项中,不属于数据模型所描述的内容的是 ( )。 ( A)数据类型 ( B)数据操作 ( C)数据结构 ( D)数据约束 11 打印或预览报表的命令是 ( )。 ( A) CREATE REPORT ( B) DO
4、 FORM ( C) REPORT FORM ( D) START REPORI 12 在 VFP中,关于查询和视图的正确描述是 ( )。 ( A)视图只能查询表但不能更新表 ( B)查询和视图都是一个存储数据的表 ( C)查询和视图是同一种文件,只是名称不同 ( D)查询是一个预先定义好的 SQL SELECT语句文件 13 “项目 ”菜单的 “运行文件 ”命令用于执行选定的文件,这些文件可以是 ( )。 ( A)查询、视图或表单 ( B)查询、表单或程序 ( C)表单、报表和标签 ( D)以上文件都可以 14 设 n=STR(-123 456, 6, 2),则 n的值等于 ( )。 ( A
5、) -123 45 ( B) -123 46 ( C) -123 5 ( D) -123 4 15 运算结果是字符串 “hao”的表达式是 ( )。 ( A) LEFT(“nihao“, 3) ( B) RIGHT(“nihao“, 3) ( C) SUBSTR(“nihao“, 3) ( D) UPPER (“hao“) 16 下列运算结果为逻辑假 ( F )的是 ( )。 ( A) INT(X 5)=X 5 ( B) INT(X 5)=MOD(X,5) ( C) MOD(X,5)=O ( D) MOD(X,5)=MOD(5, 5) 17 恢复表中所有被逻辑删除记录的命令是 ( )。 ( A
6、) REDELETE ( B) RECALL ( C) REPACK ( D) RESET 18 通过指定字段的数据类型和宽度来限制该字段的取值范围,这属于完整性中的( )。 ( A)域完整性 ( B)字段完整性 ( C)参照完整性 ( D)实体完整性 19 在 VFP中,关于自由表叙述正确的是 ( )。 ( A)自由表不可以加入到数据库中 ( B)自由表和数据库表是完全相同的 ( C)自由表不能建立候选索引 ( D)自由表不能建立字段级规则和约束 20 在 Visual FoxPro的查询设计器中,对应 SQL短语 DISTINCT的选项卡是 ( )。 ( A)联接 ( B)排序依据 ( C
7、)筛选 ( D)杂项 21 视图设计器和查询设计器基本类似,但视图设计器比查询设计器多了 ( )。 ( A) “查询输出 ”选项卡 ( B) “更新条件 ”选 项卡 ( C) “分组依据 ”选项卡 ( D) “杂项 ”选项卡 22 显示当前表单程序代码是 ThisForm Show,其中的 Show是表单对象的 ( )。 ( A)标题 ( B)方法 ( C)属性 ( D)事件 23 假定 _个表单里有一个文本框 Textl和一个命令按钮组 CommandGroupl。命令按钮组是一个容器对象,其中包含 Commandl和 Command2两个命令按钮。如果要在 Commandl命令按钮的某个方
8、法中访问文本框的 Value属性值,正确的表达式 是( )。 ( A) This ThisForm Textl Value ( B) This Parent Parent Textl ValHe ( C) Parent Parent Textl Value ( D) This Parent Textl Value 24 删除视图 stuvw的命令是 ( )。 ( A) DROP stuvw ( B) DROPVIEW stuvw ( C) DELETE stuVW ( D) DELETE VIEW Stuvw 25 要关 闭当前处于打开状态的类库文件 mylib,可以使用命令 ( )。 ( A
9、) RELEASE CLASSLIB mylib ( B) RELEASE CLASS myfib ( C) CLOSE CLASS mylib ( D) CLOSE CLASSLm mylib 26 下面关于过程调用的陈述中,正确的是 ( )。 ( A)实参与形参的数量必须相等 ( B)当实参的数量多于形参的数量时,多余的实参被忽略 ( C)当形参的数量多于实参的数量时,多余的形参取逻辑假 ( D)选项 B和 C都对 27 在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是 ( )。 ( A)改变表中记录的物理顺序 ( B)为了对表进行实体完整性约束 ( C)加快数据库表的更新速度
10、 ( D)加快数据库表的查询速度 28 在命令窗口执行 SQL命令时,若命令要占用多行,续行符是 ( )。 ( A)分号 (; ) ( B)冒号 (: ) ( C)连字符 ( ) ( D)逗号 (, ) 29 如果要运行 SMENU MPR文件,正确的命令是 ( )。 ( A) DO MENU SMENU ( B) DO SMENU MPR ( C) RUN MENU SMENU ( D) RUN SMENU MPR 30 如果要为控件设置焦点,则下列属性值是真 ( T )的是 ( )。 ( A) Enabled和 Cancel ( B) Enabled和 Visible ( C) Defau
11、lt和 Cancel ( D) sible和 Cancel 31 通过设置表单控件的哪种属性,可以改变光标在控件之间的移动次序 ( )。 ( A) Tabs ( B) TabIndex ( C) Index ( D) Move: 32 要为当前打开的 “成绩 ”表中所有的 “分数 ”增加 5分,可以使用命令 ( )。 ( A) UPDATE成绩 WITH分数 +5 ( B) CHANGEALL分数 WITH分数 +5 ( C) DISPLAYALL分数 WITH分数 +5 ( D) REPLACE ALL分数 WITH分数 +5 33 将学号为 “25”的学生姓名改为 “王莉 “,以下 SQL
12、语句正确的是 ( )。 ( A) UPDATE学生 SET姓名 FOR姓名 =“王莉 “WHERE学号 =“25“ ( B) UPDATE学生 WHERE姓名 =“王莉 “AND学号 =“25“ ( C) UPDATE FROM学生 WHERE姓名 =“王莉 “AND学号 =“25“ ( D) UPDATE学生 SET姓名 =“王莉 “WHERE学 =“25“ 34 与 “SELECT*FROM歌手 WHERE NOT(最后得分 9 00 OR最后得分 =8 00 AND最后得分 9 00 OR最后得分 =9 00 35 设有职工表 (其中包含字段:职工号,仓库号,工资 ),查询仓库号是 “C
13、k1”的职工信息并按工资降序排序,正确的 SQL命令是 ( )。 ( A) SELECT*FROM职工表 WHERE仓库号 =“CK1“ORDER BY工资 DESC ( B) SELECT*FROM职工表 WHILE仓库号 =“CK1“ORDER BY工资 ASC ( C) SELECT*FROM职工表 WHERE仓库号 =“CK1“ORDER BY工资 ASC ( D) SELECT*FROM职上表 WHERE仓库号 =“CK1“GROUP BY工资 DESC 36 对项目进行连编测试的目的是 ( )。 ( A)对项目中各种程序的引用进行校验 ( B)对项目中 PRG文件进行校验,检查发现
14、其中的错误 ( C)对项目中各种程序的引用进行校验,检查所有的程序组件是否可用 ( D)对项目中各种程序的引用进行校验,检查所有的程序组件是 否可用,并重新编译过期的文件 36 下面题使用如下的 “外汇名 ”表和 “持有数 ”表: “外汇名 ”表: 37 查询持有外币种类在 4种以上人员的姓名,及持有的种类数量,并按种类数量升序排列,数量相同时,则按姓名降序排列,下列语句正确的是 ( )。 ( A) SELECT姓名, COUNT(*)AS外币种类 FROM持有数; GROUP BY姓名 HAVING COUNT(*)=4; ORDER BY外币种类,姓名 DESC ( B) SELECT姓名
15、, COUNT(*)AS外币种类 FROM持 有数; GROUP BY姓名 HAVING COUNT(*)=4; ORDER BY COUNT(*),姓名 DESC ( C) SELECT姓名, COUNT(*)AS外币种类 FROM持有数; GROUP BY姓名 HAVING COUNTf*)=4; ORDER BY外币种类 AND姓名 DESC ( D) SELECT姓名, COUNT(*)AS外币种类 FROM持有数; GROUP BY姓名 HAVING COUNT(*)=4; ORDER BY外币种类 +姓名 DESC 38 计算出 “陆凭凭 ”所持有的全部外币相当于人民币的价值数量,
16、下列语句正确的是 ( )。 (某种外币相当于人民币数量的计算公式:人民币价值数量 =该种外币的 “现钞买入价 ”*该种外币 “持有数量 ”) ( A) SELECT SUM(现钞买入价 *持有数量 )AS人民币价值; FROM持有数,外汇名: WHERE外汇名外币代码 =持有数外币代码; AND姓名 =“陆凭凭 “ ( B) SELECT SUM(现钞买入价木持有数量 )AS人民币价值; FROM持有数,外汇名; WHERE外汇名外币代码 =持有数外币代码: FOR姓名 =“陆凭凭 “ ( C) SELECT COUNT(现钞买入价木持有数量 )AS人民币价值; FROM持有数,外汇名; WH
17、ERE外汇名外币代码 =持有数外币代码: AND姓名 =“陆凭凭 “ ( D) SELECT COUNT(现钞买入价峙 *有数量 )AS人民币价值; FROM持有数,外汇名; WHERE外汇名外币代码 =持有数外币代码; FOR姓名 =”陆凭凭 ” 39 将 “外汇名 ”表美元和英镑的基准价下调 1,下列 SQL语句正确的是 ( )。 ( A) UPDATE外名 FOR基准价 =基准价 *O 99; WHERE外币名称 =“美元 “OR外币名称 =“欧元 “ ( B) UPDATE外汇名 SET基准价 =基准价 *0 99; WHERE外币名称 =“美元 “OR外币名称 =“欧元 “ ( C)
18、 UPDATE外汇名 SET基准价 =基准价 *0 99; WHERE外币名称 =“美元 “AND外币名称 =“欧元 “ ( D) UPDATE外汇名 FOR基准价 =基准价 *0 99; WHERE外币名称 =“美元 “AND外币名称 =“欧元 “ 40 删除 “持有数 ”表中所有外币名称为 “法郎 ”的记录,下列 SQL语句正确的是( )。 ( A) DELETE FROM持有数: WHERE持有数外币代码 =外汇名外币代码; AND外币名称 =“法郎 “ ( B) DELETE FROM持有数,外汇名; WHERE持有数外币代码 =外汇名外币代码: AND外币名称 =“法郎 “ ( C)
19、 DELETE FROM持有数 WHERE外币代码 IN; (SELECT外币代码 FROM外汇名 WHERE外币名称 =“法郎 “) ( D) DE,ETE FROM持有数 WHERE外币代码 IN; SELECT外币代码 FROM外汇名 WHERE外币名称 =“法郎 “ 二、基本操作题 41 在考生文件夹下的 “雇员管理 ”数据库中完成如下操作: (1)为 “雇员 ”表增加一个字段名为 EMAIL、类型为 “字符型 ”、宽度为 20的字段。 (2)设置 “雇员 ”表中 “性别 ”字段的有效性规则,性别取 “男 ”或 “女 ”,默认值为 “女 ” (3)在 “雇员 ”表中,将所有记录的 EM
20、AIL字段值使用 “部门号 ”的字段值加上 “雇员号 ”的字段值再加上 “xxxx com cn”进行替换。 (4)通过 “部门号 ”字段建立 “雇员 “表和 “部门 ”表间的永久联系。 三、简单应用题 42 (1)用 SQL语句完成下列操作:检索 “田亮 ”所借图书的书名、作者和价格,结果按价格降序存入 book temp表中。 (2)在考生文件夹下有一个名为 menu_lin的下拉式菜单,请设计顶层表单form_menu,将菜单 menu_lin加入到该表单中,使得运行表单时菜单显示在本表单中,并在表单退 出时释放菜单。 四、综合应用题 43 设计一个文件名和表单名均为 myaccount
21、的表单。表单的标题为 “外汇持有情况 ”。表单中有一个选项按钮组控件 (myOption)、一个表格控件 (Gridl)以及两个命令按钮 “查询 ”(Commandl)和 “退出 ”(Command2)。其中,选项按钮组控件有两个按钮“现汇 ”(Optionl)、 “现钞 ”(Option2)。 运行表单时,首先在选项组控件中选择 “现钞 ”或 “现汇 ”,单击 “查询 ”命令按钮后,根据选项组控件的选择将 “外汇账户 ”表的 “现钞 ”或 “现汇 ”(根据钞汇标志字 段确定 )的情况显示在表格控件中。如下图所示。 单击 “退出 “按钮,关闭并释放表单。 注:在表单设计器中将表格控件 Grid
22、l的数据源类型设置为 “SQL说明 ”。 国家二级 VF机试模拟试卷 255答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。 2 【正确答案】 B 【试题解析】 软件需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。 需求获取的目的是确定对目标系统的各方 面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。 需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。 编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员
23、和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。 需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。 3 【正确答案】 A 【试题解析】 软件生命周期的主要活动 阶段为:可行性研究和计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。其中需求分析是对开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能,编写软件规格说明书及初步的用户手册,提交评审。 4 【正确答案】 A 【试题解析】 程序设计应该简单易懂,语句结构应该简单直接,不应该为提高效率而把语句复杂化。 5 【正确答案】 D 【
24、试题解析】 结构化分析的常用工具有数据流图、数据字典、判定树和判定表。 6 【正确答案】 D 【试题解析】 软件需求是指用户对目 标软件系统在功能、性能、设计约束等方面的要求,是由用户提出的。 7 【正确答案】 A 【试题解析】 关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的所有元组。 8 【正确答案】 B 【试题解析】 建堆的算法:首先将要排序的所有关键码放到一棵完全二叉树的各个结点中 (这时的二叉树不具备堆的特性 ),然后,从 i=n 2(n为结点的个数 )的结点 Ki开始,逐步把以 Kn/2, Kn/2-1, Kn/2-2, 为根的子树排成堆,直到以
25、 K1为根的树排成堆,就完成 了建堆过程。此题中, n=16, i=16 2=8,即从第 8个结点开始,建堆完成后如下图所示: 所以经过初始建堆后关键码值 B在序列中的序号是 3。 9 【正确答案】 C 【试题解析】 数据库一旦发生故障,需要及时进行故障恢复,并由数据库管理员负责执行故障恢复。 10 【正确答案】 A 【试题解析】 数据模型描述的内容包含数据结构、数据操作和数据约束。 11 【正确答案】 C 【试题解析】 打印或预览报表的命令格式是: REPORT FORMPREVIEW。 12 【正确答案】 D 【试题解析】 查询是一个预先定义好的 SQL SELECT语句,在不同的场合可以
26、直接或反复使用,从而提高效率。查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,以 qpr为扩展名保存在磁盘上。视图是操作表的一种手段,并不真正含有数据,是从基本表中派生出的虚表,通过视图可以查询表,也可以更新表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时,才能使用视图。 13 【正确答案】 B 【试题解析】 “项目 ”菜单的 “运行文件 ”命令的功能是:执行选定的查询、表单或程序。 14 【正确答案】 C 【试题解析】 STR(, , ),将 的值转换成字符串,转换时根据需要自动进行四舍五入。返回字符串的理想长度L应该是 值的整数部分位数加
27、上 值,再加上 1位小数点。如果 值大于 L,则字符串加前导空格以满足规定的 要求;如果 值大于等于 值的整数部分位数 (包括负号 )但又小于 L,则优先满足整数 部分而自动调整小数位数;如果 值小于 值的整数部分位数,则返回一串星号 的默认值为 O, 的默认值为10。 15 【正确答案】 B 【试题解析】 LEFT(, )函数从指定表达式值的左端取一个指定长度的子串作为函数值。 RIGHT(, )函数从指定表达式值的右端取一个指定长度的子串作为函数值。 SUBSTR()函数从指定表达式值得指定起始位置取指定长度的子串作为函数值。 UPPER()将指定表达式值中的小写字 母转换 成大写字母,其
28、他字符不变。 16 【正确答案】 B 【试题解析】 INT()函数的功能是返回指定数值表达式的整数部分。 MOD()函数的功能是返回两个数值相除后的余数。假设 X=10,则 INT(10 5)=2, X 5=2,MOD(X, 5)=0, MOD(5, 5)=0。因为 INT(X 5)=2, MOD(X, 5)=0,所以选项 B的等式不成立。 17 【正确答案】 B 【试题解析】 被逻辑删除的记录可以恢复,恢复记录的命令是 RECALL,格式如下: RECALLFOR条件表达式 。 18 【正确答案】 A 【试题解析】 域完整性也称为字段有效性规则,在插入或修改字段值时被激活,主要用于数据输入正
29、确性的检验,可以限定字段取值类型和取值范围。实体完整性是保证表中记录惟一的特性,利用主关键字或候选关键字来实现。参照完整性与表之间的关联有关,它的大概含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。 19 【正确答案】 D 【试题解析】 在 VFP中,自由表是不属于任何数据库的表,其操作基本与数据库表相同,但 它不能设定各种字段级规则和约束:自由表能够创建候选索引、普通索引和惟一索引,但不能创建主索引;自由表可以添加到数据库中而成为数据库表,数据库表也可以从数据库中移出成为自由表。 20 【正确答案】 D 【试题解析】 SQL中
30、的 DISTINCT短语用来消除查询结果中的重复项,对应 “杂项 ”选项卡。 21 【正确答案】 B 【试题解析】 视图可以查询表,也可以更新表。所以有 “更新条件 ”选项卡。 22 【正确答案】 B 【试题解析】 方法 (method):也叫 “方法程序 ”,它是指对象所固 有完成某种任务的功能,可由我们在需要的时候调用。 “方法 ”与 “事件 ”有相似之处,都是为了完成某个任务,但同一个事件可完成不同任务,取决于您所编的代码是怎样的,而方法则是固定的,任何时候调用都是完成同一个任务,所以其中的代码也不需要我们编了, FOXPRO系统已为我们编好 (我们也看不见 ),只需在必要的时候调用即可
31、。 Show方法:将表单显示出来。比如表单有一个命令按钮,如果希望单击该命令按钮时显示表单,就可以将该命令按钮的 Click事件代码设置为Thisform Show。 23 【正确答案】 B 【试题 解析】 VFP中的对象一般可分为两种:容器对象和控件对象。容器可以包容其他的控件或容器,通常把容器对象称为那些被包容对象的父对象,这样就形成了对象的嵌套层次关系。在这种层次关系中,要引用其中的某个对象。就需要指明对象在嵌套层次中的位置。这时一般会用到一些引用属性或关键字,如PARENT是对象的一个属性,属性值为对象引用,指向该对象的直接容器对象:THIS、 THISFORM和 THISFORMSE
32、T是 3个关键字,分别表示当前对象、当前表单和当前表单集。 在所给题目中,共给出了 5个对象,我们首先要清楚哪些 是容器哪些是控件,以及它们之间的包容层次关系。表单是最外层的容器,其中有一个文本框控件Textl和一个容器命令按钮组 CommandGroupI,而 CommandGroupl中又有两个命令按钮控件 Commandl和 Command2,故 CommandGroupI是 Commandl和Command2的父对象,表单是 CommandGroupl和 Textl的父对象。现在要在Cornmandl的方法中访问文本框 Text1对象,即 Commandl是当前对象,但由于C6mman
33、dl和 Textl没有包容关系,故必须由 Commandl找到跟 Textl有包容关系的对象来引用,也就是 Textl的父对象表单。 This代表当前的 Commandl,This Parent指向父对象 CommandGroupl, This Parent Parent则指向CommandGroupl的父对象表单, This Parent Parent Textl则通过父对象表单引用了文本框 TextI。 对象访问属性的格式是:对象引用对象属性。所以引用文本框 Textl的 Value属性,正确的表达式应该是 This Parent Parent Textl Value。 24 【正确答案】
34、 B 【试题解析】 删除视图的命令是 DROPVIEW视图名。 25 【正确答案】 A 【试题解析】 关闭当前处于打开状态的指定类库文件,可以使用 RELEASE CLASSLIB命令,其格式为: RELEASE CLASSLIB。 26 【正确答案】 C 【试题解析】 调用模块程序时,系统自动把实参传递给对应的形参。形参的数目不能少于实参的数目,否则系统会产生运行时错误。如果形参数目多于实参的数目,那么多余的形参取初值逻辑假。 27 【正确答 案】 D 【试题解析】 建立索引,可以加快数据表的查询速度,不会改变表中的物理顺序。 28 【正确答案】 A 【试题解析】 若命令很长,在由显示窗口的
35、大小确定的一行内显示不下,除了最后一行外,在每一行的最后要用续行符分号 (; )结束。除此之外都是错误的。 29 【正确答案】 B 【试题解析】 运行菜单程序的命令是: DO,必须带扩展名mpr。 30 【正确答案】 B 【试题解析】 在表单的控件中, SetFocus可以让控件获得焦点,使其成为活动对象。如果 一个控件的 Enabled属性值和 Visible属性值为 F,将不能获得焦点,如果一个控件获得焦点,则 Enabled属性值和 Visible属性值为 T。 31 【正确答案】 B 【试题解析】 通过 Tablndex属性可以用来控制光标在控件之间的移动次序,光标按照 1、 2、 3
36、 的顺序依次移动。 32 【正确答案】 D 【试题解析】 可以使用 REPLACE命令修改记录, REPLACE命令的常用格式是: REPLACE FieldNamel WITH eExpressionl, FieldName2 WITH eExpression2FOR 1Expression1 该命令的功能是直接利用表达式 eExpression的值替换字段 FieldName的值,从而达到修改记录值的目的,该命令一次可以修改多个字段 (eRxpression1,eExpression2) 的值,如果不使甩 FOR短语,则默认修改的是当前记录;如果使用了 FOR短语,则修改逻辑表达式 lEx
37、pression1为真的所有记录。 选项 A的 UPDATE命令为 SQL命令,且此处命令格式错误:选项 C的CHANGE命令为交互状态下的修改记录的命令,此处命令格式也是错误的:选项D的 DISPLAY命令是浏览记录的命令。 33 【正确答案】 D 【试题解析】 SQL的数据更新格式为: UPDATE Tablename SET Column_name1=eExpression1,Column_Name2=eExpression2 WHERE Condition 一般使用 WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用 WHERE子 句,则更新
38、全部记录。 34 【正确答案】 B 【试题解析】 题干中 SELECT语句的意义为:选择出 “歌手 ”表中所有 “最后得分 ”字段中值不大于 9 00(包括 9 00)及不小于 8 00(包括 8 00)记录的所有字段,选项 C中 SQL语句的意义是选择出 “歌手 ”表中所有 “最后得分 ”字段中值大于9 00或小于 8 00的记录,与题意不符。选项 D中 SQL语句的意义是选择出 “歌手 ”表中所有 “最后得分 ”字段中值小于等于 9 00或大于等于 8 00的记录,与题意不符。选项 A中使用了 BETWEENAND 表达式,当 BETWEEN作取值范围限定时,包括限定条件的两个端点值,并且
39、使用 BETWEENAND 的两个限定值应当遵循从小到大的原则,而此题正好相反,所以不可能查出结果。 35 【正确答案】 A 【试题解析】 在用 SQL语句进行查询时,对结果字段排序应使用 ORDER BY短语,降序排序使用 DESC子旬。 36 【正确答案】 D 【试题解析】 对项目进行连编的目的是为了对程序中的引用进行校验,同时检查所有的程序组件是否可用。通过重新连编项目, Visual FoxPro会分析文件的引用,然后重新编译过期的 文件。 37 【正确答案】 A 【试题解析】 本题中首先通过 GROUP BY短语按 “姓名 ”字段对 “持有数 ”表中的记录进行分组,然后利用 COUN
40、T()分组统计每个人持有的外币种类,再通过HAVING子句限定外币种类至少在 4种以上的记录;利用 ORDER BY短语可以对查询结果进行排序,有升序 (ASC)和降序 (DESC)两种,默认的为升序排序方式,如果排序字段有多个,则每个字段之间用逗号隔开。 38 【正确答案】 A 【试题解析】 本题中查询的 “现钞买入价 ”是来自 “外汇名 ”表的字段, “持有数 量 ”来自 “持有数 ”表,进行计算查询时需要采用连接查询的方式对两表进行查询,两表的连接条件在 WHERE短语中指定,另外对记录进行筛选的条件通过 AND短语与表的连接条件一起放在 WHERE短语之后。 39 【正确答案】 B 【
41、试题解析】 SQL的数据更新命令格式为: UPDATESET列名 1表达式 1 列名 2=表达 2 WHERE 一般使用 WHERE子旬指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用 WHERE子句,则更新全部记录。 40 【正确答案】 C 【试题解析】 利用 SQL数据操作功能,可以逻辑删除数据表中的记录。其命令格式为: DELETEFROM WHERE过滤条件 1ANDfOR过滤条件 2 其中,该命令语句只能对单表进行更新,选项 A和 B)中的 FROM短语指定了两个数据表,属于语法错误,选项 D中使用 IN短语时,子查询要用括号括起来。 二、基本操作题
42、41 【正确答案】 (1) 在命令窗口执行命令: MODIFY DAABASE,打开“雇员管理 ”数据库设计器。 右击数据库设计器中的 “雇员 ”表,选择 修改 快捷菜单命令,打开 “雇员 ”表设计器,在表设计器 “字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名“email”,在 “类型 ”下拉框中选择 “字符型 ”,在 “宽度 ”文本框中输入 “20”,保存表结构修改。 (2)继续打开 “雇员 ”表设计器,选中 “字段 ”选项卡中的 “性别 ”字段,然后在 “字段有效性 ”的 “规则 ”文本框中输入:性别 $”男女 ”,在 “默认值 ”文本框中输入: ”女 ”。 (3)在命
43、令窗口 执行如下命令修改 email字段值: UPDATE 雇员 SET email= ALLTRIM(部门号 )+ALLTRIM(雇号 )+““ (4)在数据库设计器中拖动 “部门 ”表 “索引 ”下方的主索引 “部门号 ”到 “雇员 ”表中“索引 ”下方的普通索引 “部门号 ”上,为两个表建立联系。 【试题解析】 本题考查了表结构的修改;字段有效性的设置;表之间联系的建立 修改表结构可以在表设计器中完成,打开表设计的方法有多种,可在数据库设计器中打开,也可以直接通过 命令打开;同样,设置字段有效性规则也需要在表设计器中完成:对于 SQL非常熟悉的考生,也可以直接通过 SQL语句完成以上操作
44、。 利用 SQL UPDATE语句可以更新表中记录,本题可直接套用 SQL语句的固定语法完成记录的修改。 对两个表建立联系是在数据库设计器中进行操作的,本题的关键是要找出每两个表之间的相同字段,并分别设置主索引和普通索引,再进行联接,打开数据库设计器可以看到数据库中所包含的数据表及各数据表中 _的字段。 三、简单应用题 42 【正确答案】 (1)在命令窗口执行命令: SELECT Book书名, Book作者, Book价格; FROM图书 !book INNER JOIN图书 !loans; INNER JOIN图书 !borrows: ON Loans借书证号 =Borrows借书证号;
45、ON Book图书登记号 =Loans图书登记号: WHERE Borrows姓名 =“田亮 “; ORDER BY Book价格 DESC; INTO TABLE book_temp dbf (2)步骤 1:在命令窗口执行命令: CREATE FORM form_menu,打开表单设计器。选中表单,在 “属性 ”窗口中修改表单 (Form1)的 “showWindow”属性值设置为 “2-作为顶层表单 ”。 步骤 2:双击表单 (Form1)编写表单的 Init事件代码,代码如下: Do menu_lin.mpr WITH THIS, xxx 步骤 3:双击表单 (Foml)编写表单的 De
46、stroy事件代码,代码如下: RELEASE MENU xxx EXTENDED 步骤 4: 单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 (1)本题考查的是 SQL联接查询。根据题意,该查询用到了 book、loans和 borrows三张表,对应有两个联接表达式。 (2)本题主要考查的是菜单在顶层表单中的应用。主要包括两大部分的操作,即菜单设计和表单设计。操作过程可按以下步骤进行: 通过菜单设计器建立菜单,注意主菜单和子菜单的建立菜单设计有两个关键操作:一是在菜单设计器中勾选 “常规选项 ”对话框中的 “顶层表单 ”,表示此菜单存在项
47、层表单中;二是在释放表单时,要使用表单的文件名,即本题中可以通过MAINFORM RELEASE命令释放 MAINFORM表单,注意:不要使用THISFORM RELEASE命令释放表单 在表单设计过程中,要注意将表单设置为顶层表单,通过表单的 showwindow属性值可以进行设置,而在表单中调用菜单文件是在表单的 Load(或 INIT)事件中进行调用,还需要通过 THIS短语指定当前表单时象的引用。其基本格式为: DO WITH THIS, “。 四、综合应用 题 43 【正确答案】 步骤 1:在命令窗口执行命令: CREATE FORM myaccount,打开表单设计器新建表单。从
48、“表单控件 ”工具栏中依次向表单添加一个选项按钮组、一个表格及两个命令按钮控件。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在“全部 ”选项卡中修改对象属性值,见表 3。步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下: *“查询 ”的 click事件代码 (以下SQL查询语句是通过查询设计器生成 )*DO CASE CASE THISFORM MYOPTION VALUE=1 &当选择选项组第一个选项时 THISFORM GRIDl RECORDSOURCE=“SELECT外汇账户。外币代码,外汇账户金额; FROM外汇 !外汇账户: WHERE外汇账户钞汇标志 =现汇 : &此处注意字符串的定界符要与双引号定界符不同 INTO CURSOR temp“ &将查询结果输出到临时表 temp中 CASE THISFORM MYOPTION VALUE=2 &当选择选项组第二个选项时 THISFORM GRIDl RECORDSOURCE=“SELECT外汇账户 外币代码,外汇账户金额: FROM外汇 !外汇账户; WHERE外汇