分享

计算机等级考试二级VFP上机试题及解题思路(1)-计算机等级考试-考试吧

 昵称5331366 2010-12-31
注意:基本操作题为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的股票。

  本题的主要考核点:

  SQL语句的使用。

  1、SELE * FROM stock_sl INTO DBF stock_bk

  2、INSE INTO stock_bk (股票代码,买入价,现价,持有数量)VALU("600028", 4.36, 4.60, 5500)

  3、UPDA stock_bk SET 现价=8.88 WHER 股票代码="600007"

  4、DELE FROM stock_bk WHER 股票代码="600000"

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

  1、在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进sc2中。根据score2表建立一个视图score_view,视图中包含的字段与score2表相同,但视图中只能查询到积分小于等于1500的信息。 然后利用新建立的视图查询视图中的全部信息,并将结果按积分升序存入表v2。

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

  第1题,本题的主要考核点是视图的建立。

  在"项目管理器"中选择一个数据库,选择"本地视图",然后选择"新建"按钮,打开"视图设计器"。选择所有字段,在"筛选"栏内输入条件"积分<=1500",关闭并保存。在数据库设计器中打开视图,用sort on 积分 to v2 命令存入新表。

  第2题,本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATE MENU命令直接调出菜单设计器。在菜单名称中填入"文件"、"帮助","文件"结果为子菜单,单击编辑;在子菜单的菜单名称中输入"打开"、"存为"、"关闭","关闭"结果为命令"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,姓名 C8,班级 C5,课程名 C12,成绩N5.1)

  设计一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。程序运行时, 单击"计算"菜单项应完成下列操作:将所有选修了"计算机基础"的学生的"计算机基础"成绩, 按成绩由高到低的顺序填列到成绩表文件CJB.DBF中(事前须将文件中原有数据清空)。单击"退出"菜单项,程序终止运行。

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

  本题的主要考核点:

  结构化查询语言(SQL)中的联接查询、查询的排序、查询的去向等知识

  解题思路:

  在本题中要想得到所有选修了"计算机基础"的学生的"计算机基础" 成绩及学生的姓名等信息,就需要用到联接查询。因为学生的姓名、班级在表XS.DBF中,而学生的成绩在表CJ.DBF中。而这两个表要联接起来可以通过"学号"字段。

  有以下两种联接查询的形式:SELECT XS.学号,姓名,班级,课程名,成绩 FROM XS,CJ WHERE XS.学号=CJ.学号 AND 课程名="计算机基础" 或者 SELECT XS.学号,姓名,班级,课程名,成绩 FROM XS LEFT JION CJ ON XS.学号=CJ.学号 WHERE 课程名="计算机基础"

  通过以上的联接查询便得到了所有选修"计算机基础"的学生的"计算机基础"的成绩及学生的姓名等信息。而题中所要求按成绩的降序排序,所以应该在以上SQL语句的基础上加入:ORDER BY 成绩 DESC

  将查询所得到的结果放于一个数组变量AFieldsValue中,要用到INTO ARRAY AFieldsValue.至此一个完整的SQL联接查询语句便形成了:SELECT XS.学号,姓名,班级,课程名,成绩 FROM XS,CJ WHERE XS.学号=CJ.学号 AND 课程名="计算机基础" ORDER BY 成绩 DESC INTO ARRAY AFieldsValue

  清空CJB.DBF

  将tableName中的资料添加到已被清空的CJB.DBF中INSERT INTO CJB FROM ARRAY AFieldsValue

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多