1、国家二级 VF 机试(操作题)-试卷 116 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.打开考生文件夹下的 DB 数据库,完成如下基本操作:(1)为表 TABB 增加一个字段,字段名为“日期“,数据类型为日期型。(2)使用 SQL UPDATE 语句将表 TABB 中所有记录的“日期“字段的值修改为20051001,并将 SQL 语句存储到名为 TWO.PRG 的文件中。(3)用 SQL 语句将表 TABA 中的记录复制到另外一个与它结构相同的表 TABC 中,并消除其中的重复记录,并且对于重复多次的记录,只复制一条记录的数据。最后将 S
2、QL 的 SELECT 语句存储到名为 THREE.PRG 的文件中。(4)使用报表向导建立一个简单报表。要求选择 TABA 中的所有字段;记录不分组;报表样式为随意式;列数为 1,字段布局为“列“,方向为“横向“;排序字段为 NO,升序;报表标题为“计算结果一览表“;报表文件名为 P_ONE。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.打开考生文件夹下的 DB 数据库,完成如下简单应用:(1)编写一个名为 FOUR.PRG 的程序,根据表 TABA中所有记录的 a,b,c 三个字段的值,计算各记录的一元二次方程的两个根 x1 和 x2,并将两个根 x1 和x2 写到对
3、应的字段 x1 和 x2 中,如果无实数解,在 note 字段中写入“无实数解“。提示:平方根函数为SQRT();程序编写完成后,运行该程序计算一元二次方程的两个根。注意:一元二次方程公式如下:(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.打开考生文件夹下的 SDB 数据库,完成如下综合应用:创建一个标题名为“查询“、文件名为 testb 的表单,如下图所示。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 116 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.打开考生文件夹下的 DB 数据库,完成如下基本操作:
4、(1)为表 TABB 增加一个字段,字段名为“日期“,数据类型为日期型。(2)使用 SQL UPDATE 语句将表 TABB 中所有记录的“日期“字段的值修改为20051001,并将 SQL 语句存储到名为 TWO.PRG 的文件中。(3)用 SQL 语句将表 TABA 中的记录复制到另外一个与它结构相同的表 TABC 中,并消除其中的重复记录,并且对于重复多次的记录,只复制一条记录的数据。最后将 SQL 的 SELECT 语句存储到名为 THREE.PRG 的文件中。(4)使用报表向导建立一个简单报表。要求选择 TABA 中的所有字段;记录不分组;报表样式为随意式;列数为 1,字段布局为“列
5、“,方向为“横向“;排序字段为 NO,升序;报表标题为“计算结果一览表“;报表文件名为 P_ONE。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)打开考生文件夹下的 DB 数据库,在数据库设计器中右键单击TABB 表,在弹出的快捷菜单中选择“修改“项,在表设计器窗口中为表添加字段“日期“,类型为日期型。 (2)新建一个程序 two,在其中输入 UPDATE tabb SET 日期=2005/10/01 最后保存并运行程序。 (3)新建一个程序 three,在其中输入如下命令。 *“three“程序文件中的代码* SELECT DISTINCT *; FROM TABA; INT
6、O TABLE TABC.dbf * 最后保存并运行程序。 (4)通过报表向导建立报表,在“字段选取“对话框中选中“TABA“表,并将其中的所有字段添加到“选定字段“框中;在“分组依据“对话框中直接单击“下一步“按钮;在“选择报表样式“对话框中选择随意式;在“定义报表布局“对话框中选择“列数“为 1,选中“字段布局“列中的“列“,选中“方向“列中的“横向“,然后单击“下一步“按钮;在“排序记录“对话框中选中“升序“,并将“No“字段添加到选定字段框中;最后定义报表标题为“计算结果一览表“,并保存报表为“P_ONE“。)解析:二、简单应用题(总题数:1,分数:2.00)2.打开考生文件夹下的 D
7、B 数据库,完成如下简单应用:(1)编写一个名为 FOUR.PRG 的程序,根据表 TABA中所有记录的 a,b,c 三个字段的值,计算各记录的一元二次方程的两个根 x1 和 x2,并将两个根 x1 和x2 写到对应的字段 x1 和 x2 中,如果无实数解,在 note 字段中写入“无实数解“。提示:平方根函数为SQRT();程序编写完成后,运行该程序计算一元二次方程的两个根。注意:一元二次方程公式如下:(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 新建程序 four,并输入以下命令: *“four“程序文件中的代码* CLOS ALL USE TABA SCAN IF A=0
8、 REPL x1 WITH (-B+SQRT(B*B-4*A*C)/(2*A),x2 WITH (-B-SQRT(B*B-4*A*C)/(2*A) ELSE REPL NOTE WITH “无实数解“ ENDIF ENDSCAN * 最后保存运行程序。 (2)【操作步骤】 步骤 1:打开表单“testA“。 步骤 2:按 Shift 的同时选中“查询“和“退出“两个按钮,然后在属性窗口设定它们的Height 属性为 30,Width 属性为 80,在系统菜单中选择“格式“对齐“顶边对齐“。 步骤 3:在“查询“按钮的 Click 事件中输入下列代码。 *“three“程序文件中的代码* SEL
9、ECT *; FROM TABA; WHERE TABA.note = “无实数解“; INTO TABLE TABD.dbf * 步骤 4:在“退出“命令按钮的 Click 事件中输入“ThisForm.Release“。保存并运行表单。)解析:三、综合应用题(总题数:1,分数:2.00)3.打开考生文件夹下的 SDB 数据库,完成如下综合应用:创建一个标题名为“查询“、文件名为 testb 的表单,如下图所示。 (分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:打开数据库,在命令窗口输入“Crea form testb“,新建一个表单。按题目要求添加控件并修改各控件的属性,
10、如下: 表单的 AutoCenter 属性为“.T.-真“。 表单的 Caption 属性为“查询“。 标签的 Caption 属性为“学生注册日期“。 命令按钮 1 的 Caption 属性为“查询“。 命令按钮 2 的 Caption 属性为“退出“。 表格的 RecordSourceType 属性为“4-SQL 说明“。 步骤 2:为表单添加数据环境“学生表“。 步骤 3:输入查询按钮的 Click 事件代码。 *“查询“按钮的 Click事件代码* CLOSE ALL SELECT * FROM 学生表; WHERE 学生表.注册日期 = CTOD(ThisForm.Text1.Val
11、ue); ORDER BY 学生表.年龄 DESC; INTO TABLE temp.dbf USE TABE DELE ALL PACK APPEND FROM TEMP THISFORM.GRID1.RECORDSOURCE=“SELECT * FROM 学生表 WHERE 学生表.注册日期 = CTOD(ThisForm.Text1.Value) INTO CURSOR XX ORDER BY 学生表.年龄 DESC“ * 步骤 4:输入退出按钮的 Click 事件代码“ThisForm.Release“。 步骤 5:保存并按要求运行表单。)解析:解析:新建表单,按要求修改表单控件的属性,完成命令按钮的 Click 事件代码。