2020 年计算机二级考试《VFP 》巩固练习试题1[单选题]在Visual FoxPro 中能够建立表的命令是( ) 。
A. CREATEB. CREATE DATABASEC. CREATE QUERYD. CREATE FORM参考答案:A参考解析:用命令方式建立数据库表的是在命令窗口利用OPEN DATA命令先打开数据库,然后利用CREATED令打开表设计器实行数据表设计。
2[简答题](1) 在考生文件夹下,有一个数据库“ school ”,其中有数据库表“student ”、“ score ”和“ course ”。
在表单向导中选择“一对多表单向导”创建一个表单。
要求:从父表“ student ”中选择字段“学号”和“姓名”,从子表“ score ”中选择字段“课程编号”和“成绩”,表单样式选用“浮雕式”,按钮类型使用“图片按钮”,按“学号”升序排序,表单标题为“学生成绩浏览”,最后将表单存放在考生文件夹中,表单文件名为“bd2”。
(2) 在考生文件夹中有一数据库“ school ”,其中有数据库表“student ”、“ score ”和“ course ”。
建立“成绩大于等于75 分”、按“学号”升序排序的本地视图“ view2 ”,该视图按顺序包含字段“学号”、“姓名”、“成绩”和“课程名称”。
参考解析:【考点指引】本大题第1 小题考查一对多表单向导的使用,重点是多表之间字段的联系;第2小题考查视图的创建,重点是多表之间字段的联系。
(1) 【操作步骤】①选择【文件】T【打开】命令,在“打开”对话框的“文件类型”下拉列表框中选择“数据库”,选择“ school.dbc ”,单击“确定”按钮,打开数据库设计器。
②选择【文件】T【新建】命令,选择“表单”,单击“向导” 按钮,在弹出的“向导选择”窗口中选择“T对多表单向导”,单击“确定”按钮。
③在“T对多表单向导”对话框的“数据库和表”列表框中选择“student ”表做父表,将“可用字段”下的“学号”和“姓名”字段添加到“选定字段”列表框中,单击“下一步”按钮。
④在“一对多表单向导”对话框的“数据库和表”列表框中选择“ score ”表做子表,将“可用字段”下的“课程编号”和“成绩”字段添加到“选定字段”列表框中,单击“下一步”按钮。
⑤系统自动选择两个表的“学号”字段作为关联字段,单击“下一步”按钮,在“样式”列表框中选择“浮雕式”,“按钮类型”选择“图片按钮”,单击“下一步”按钮。
⑥在“可用的字段或索引标识”列表框中选择“学号”添加到“选定字段”列表框中,选择“升序”,单击“下一步”按钮。
⑦输入表单标题为“学生成绩浏览”,单击“完成”按钮,输入表单名称“ bd2”并保存退出。
(2) 【操作步骤】①选择【文件】-【新建】命令,选择“视图”,单击“新建文件”按钮打开“添加表或视图”对话框,选择“表单”选项,选择数据库“ school ”,将表“ score ”、“ student ”和“ course ”分别“添加”到视图设计器中,系统会自动选择关联字段“学号”为表“score ”和“ student ”建立内部联系,选择关联字段“课程编号” 为表“ score ”和“ course ”建立内部联系,单击“确定”按钮关闭“连接条件”对话框,再关闭“添加表或视图”对话框。
②在视图设计器中单击“字段”选项卡,将“可用字段”列表框中的“ student. 学号”、“ student. 姓名”、“ score. 成绩”和“ course. 课程名称”等字段添加到右边的“选定字段”列表框中。
③在视图设计器中单击“筛选”选项卡,在“字段名”下拉列表框中选择“ score. 成绩”字段,在“条件”下拉列表框中选择“ >=”,在“实例”编辑框中输入“ 75”。
④在视图设计器中单击“排序依据”选项卡,在“排序依据”选项卡的“字段名”下拉列表框中选择“ student. 学号”字段,单击“添加”按钮,将“ student. 学号”字段添加到右边的“排序条件” 列表框中,在“排序条件”中选择“升序”单选项。
⑤在视图设计器中单击“连接”选项卡,在第一行的“逻辑”下拉列表框中选择“ AND”。
⑥在视图设计器中单击“关闭”按钮,将视图以“ view2 ”文件名保存有考生文件夹下。
3[ 简答题]对“公司”数据库中的表“职员信息”和“部门”,建立文件名为“ bd3”的表单,标题为“公司管理”,表单上有一个表格控件和3 个命令按钮,标题分别为“按部门查看”、“人数统计”和“关闭”。
当表单运行时:(1) 单击“按部门查看”按钮,以“部门编号”排序查询职员信息表中的记录,结果在表格控件中显示。
(2) 单击“人数统计”按钮,查询职员信息表中各部门的人数,结果中含“部门编号”和“人数”等字段,结果在表格控件中显示。
(3) 单击“关闭”按钮,关闭表单。
参考解析:【考点指引】本大题主要考查表单的建立,重点是命令按钮事件代码的编写和表格控件数据源的设置。
【操作步骤】①选择【文件】T【新建】命令,选择“表单”,单击“新建文件”按钮打开表单设计器,将Caption 属性值修改为“公司管理”,单击表单控件工具栏上的“命令按钮”控件图标,为表单添加3 个命令按钮Comma nd1 Comma nd和Comma nd,单击表单控件工具栏上的“表格”控件图标,再添加一个表格控件。
②分别选择3 个命令按钮,在按钮属性窗口中将命令按钮Comma nd的Caption属性值修改为“按部门查看”,Comma nd的Caption属性值修改为“人数统计”,Comma nd的Capti on属性值修改为“关闭”,如图20-1所示。
双击“关闭”命令按钮,在Click 事件中输入代码:ThisForm.Release ,用来关闭表单。
③选择表格控件“ Grid1 ”,在表格控件属性窗口中将“ RecordSource” 属性值修改为“"〃”,将“ RecordSourceType” 属性值修改为“ 1”。
④双击“按部门查看”命令按钮,在Click事件中输入代码:SELECT*INTO CURSOR tmp FR职员信息0R- DER BY部门编号ThisForm.Grid1.RecordSourceType=1ThisForm.Grid1.RecordSource= 〝tmp〞ThisForm.Grid1.Refresh⑤双击“人数统计”命令按钮,在Click事件中输入代码:SELECT部门编号,COUNT(*)AS人数INTO CURSOR tmp FROM员信息ThisForm.Grid1.RecordSourceType=1ThisForm.Grid1.RecordSource= 〝tmp〞ThisForm.Grid1.Refresh⑥选择【表单】-【执行表单】命令,系统首先要求保存该表单文件,在弹出的“另存为”对话框中输入表单文件名“bd3”,保存有考生文件夹下,然后运行表单。
4[ 单选题] 有以下两个表:读者(借书证号C,姓名G单位C,性别L。
职称G联系电话C. •借阅(借书证号C,总编号C,借书日期D.查询没有借阅任何图书的读者信息,不准确的SQL语句是A. SELECT*FRO读者WHER借书证号ALL(SELECTt书证号FROI\借阅.C.SELECT*FRO读者WHER借书证号NOTIN(SELEC借书证号FROM 借阅.D.SELECT*FRO读者WHERENOTEXISTS(SEL6C书证号FROM借阅;WHER借书证号二读者.借书证号参考答案:A参考解析:‘ . ,,,. 为子串替换函数,用值替换中由和指定的一个子串。
替换和被替换的字符个数不一定相等。
如果值是0,则插在由指定的字符前面。
如果值是空串,那么中由和指定的子串被删去。
本题准确答案为B。
9[ 单选题] 查询订购单的数量和所有订购单金额合计的准确命令是( )。
A. SELECT COUNT(DISTINCT单号),SUM(数量*单价)FROM产品JOIN订购单名细ON产品.产品号二订购单名细.产品号B. SELECT COUN订单号),SUM(数量*单价)FROM产品JOIN订购单名细ON产品.产品号二订购单名细.产品号C. SELECT COUNT(DISTINCT单号),SUM(数量*单价)FROM产品,订购单名细ON产品.产品号二订购单名细.产品号D. SELECT COUN订单号),SUM(数量*单价)FROM产品,订购单名细ON产品.产品号二订购单名细.产品号参考答案:A参考解析:SQL的核心是查询。
SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHER询块组成,多个查询块能够嵌套执行。
超连接查询有四种连接方式,其基本格式如下:SELECT FROM左表IN-NER I LEFT l RIGHT I FULL JOIN 右表0N连接条件WTIER灰他条件。
本题DISTINCT用于去掉重复值,COUNT(DIS.TINC订单号)表示订购单的数量,SUM数量*单价)为订购单金额,A)选项格式准确。
1O[ 简答题] 首先将“ order_d ”表全部内容复制到“ order_d2 ”表,然后对“ order_d2 ”表编写完成如下功能的程序:(1)把订单中“商品编号”相同的订单合并为一张订单,新的“订单编号”取最小的“订单编号”,“单价”取加权平均单价(即“商品编号”相同的订单总金额/总数量),“数量”取合计。
(2)结果先按新的“订单编号”升序排序,再按“商品编号”升序排序。
(3)最终记录的处理结果保存有“ order_d3 ”表中。
(4)最后将程序保存为“ cx1.prg ”,并执行该程序。
参考解析:【考点指引】本大题主要考查SQL SELECTS码的编写,重点是分组命令GROUP BY求最小值MIN函数和求和函数SUM勺使用。
【操作步骤】①在命令窗口中输入命令:MODI COMM ex回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码:SELECT*INTO TABLE order_d2 FROM order_dSELECT MIN订单编号)AS新订单号,商品编号,SUM数量*单价)/SUM(数量)AS单价,SUM数量)AS 数量INTO TABLE order_d3 FROM order_d2 GROUP BY商品编号ORDER BY^订单号,商品编号关闭程序文件编辑窗口并保存程序文件。
②在命令窗口中输入命令:DO cx1(回车执行),执行程序文件。