就业数据资源平台
当前位置:首页 > Visual FoxPro
计算机等级考试二级VFP机试试题15

第十五套


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



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



    2、把自由表STUDENT、COURSE、SCORE加入到数据库中。



    3、为SCORE表的"成绩"字段建立有效性规则:成绩大于等于零,否则提示信



       息:成绩必须大于等于零



4、为STUDENT表建立主索引,索引名为PRIMARYKEY,索引表达式为学号。



本题的主要考核点:



    数据库的建立、将自由表添加到数据库中、建立有效性规则、索引的建立。



1.建立数据库的常用方法有以下三种:



在项目管理器中建议数据库



通过"新建"对话框建议数据库



使用命令交互建议数据库,命令为: CREATE DATABASE [DatabaseName|?]



其中DatabaseName给出了要建立的数据库的名称,如果不指定数据库名称或使用?号都会弹出创建对话框请用户输入数据库名称。



此处可用后两种。



2.将自由表添加到数据库中,可以在项目管理器或数据库设计器中完成。在数据库设计器中可以从"数据库"菜单或在数据库设计器上单击右键弹出菜单中选择"添加表",然后在"打开"对话框中选择要添加到当前数据库的自由表。还可用ADD TABLE命令添加一个自由表到当前数据库中。



3.建立有效性规则比较简单直接的方法是在表设计器中建立。在表设计器中首先选中要定义有效性规则的字段"成绩",在"规则"一栏中输入"成绩>=0"(或用表达式生成器生成),在"信息"栏中输入:"成绩必须大于等于零"。



4.建立索引在表设计器中的索引选项卡中完成。



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



    1、在考生文件夹中有一个商品数据库COMMDB,其中有数据库表SP存放商品信



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



       "文件"两个菜单栏。



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



       数据操作



           数据输出



       文件



           退出



      其中:



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



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



      退出菜单项对应的过程含有命令SET SYSMENU TO DEFAULT,使之可以返回到



      系统菜单。



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



      COURSE2。三个表如下所示:



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



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



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



      用SQL语句查询"数据库"课程的考试成绩在85分以上(含85分)的学生的全部信



      息并将结果按学号升序存入自由表NINE.DBF文件中。(库的结构同STUDENT2,



      并在其后加入成绩字段)



第1题,本题的主要考核点是建立菜单和foxpro中的基本命令。



新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。在 "新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATE MENU命令直接调出菜单设计器。在菜单名称中填入"数据操作",结果为子菜单,单击编辑;在子菜单的菜单名称中输入"�数据输出",结果为过程。在过程中输入下列命令:



open data commdb



select * from sp



close all



文件菜单创建过程同上。



第2题  本题的主要考核点是SQL语句查询。



SELECT Student2.*, Sc.成绩;



 FROM  sdb!student2 INNER JOIN sdb!sc;



    INNER JOIN sdb!course2 ;



   ON  Sc.课程号 = Course2.课程号 ;



   ON  Student2.学号 = Sc.学号;



 WHERE Course2.课程名 IN ("数据库");



   AND Sc.成绩 >= 85;



 ORDER BY Student2.学号;



 INTO TABLE nine.dbf



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



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



    号C(10)、少数民族L、优秀干部L、三好生L、考试成绩I、总成绩I。其中,前



    五项已有数据



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



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



    cmdYes和cmdNo,标题分别为"计算"和"关闭"。



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



   (1)计算每一个学生的总成绩。总成绩的计算方法是:考试成绩+加分,加分的规



      则是:如果该生是少数民族(相应数据字段为 .T.)加分5分,优秀干部加分10



      分,三好生加分20分,加分不累计,取最高的。例如,如果该生既是少数民



      族又是三好生,加分为20分。如果都不是,总成绩=考试成绩



   (2)根据上面的计算结果,生成一个新的自由表 ZCJ,该表只包括学号和总成绩



      两项,并按总成绩的升序排序,如果总成绩相等,则按学号的升序排序。



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



本题主要考核点:



表单的建立、程序设计中循环结构、条件结构的应用、SELECT语句的应用等知识点



解题思路:



第一步:利用表单设计器建立所要求的表单,将在表单上添加两个按钮控件。分别设置两个按钮控件的标题和名字属性。



第二步:双击标题为"计算"的按钮控件,在新打开的窗口中添加此按钮的CLICK事件代码:



        SET TALK OFF   &&在程序运行下关闭命令结果的显示



        OPEN DATABASE STU_NINE    &&打开数据库文件



        USE SCORE1                   &&打开成绩表



        DO WHILE NOT EOF()          &&遍历成绩表中的每一条记录



            STORE 0 TO JF             &&对变量JF赋值0



            DO CASE                  



                CASE 三好生



                      JF=20



                CASE 优秀干部



                      JF=10



                CASE 少数民族



                      JF=5



                OTHERWISE



                      JF=0



            ENDCASE



            &&DO CASE…..ENDCASE条件语句中每次仅运行其中的一组命令。



            &&如果第一个 CASE 条件表达式 中条件表达式为.T.,则执行第一个CASE



            &&和第二个CASE之间的语句,而即使下面的有满足条件的CASE也不再执行



            &&如果所有的CASE条件都不满足,则执行OTHERWISE与ENDCASE之间的语句



            &&所以这里要将"三好生"放在第一个CASE的位置;"优秀干部"话在第二个CASE中



            &&"少数民族"放在第三个CASE中



            REPLACE 总成绩 WITH 考试成绩+JF



            &&用当前的成绩与可以加的分之和做为总成绩



            SKIP



        ENDDO



        SELECT 学号,总成绩 FROM SCORE1 ORDER BY 总成绩,学号;



        INTO TABLE ZCJ



        &&利用ORDER BY 子句可以将查询结果集按一定的顺序进行排序



        &&默认是以升序进行排序,如果要以降序进行排序,需在排序依据的后面加DESC



        &&在排序的时候可以指定多个排序的依据,根据优先级的不同依次放在ORDER BY 的后面



        &&利用INTO TABLE 表名 可以将结果集放入一个永久表中



CLOSE ALL



        SET TALK ON   &&恢复命令结果的显示



第三步:双击标题为"关闭"的按钮控件,在新打开的窗口中添加此按钮的CLICK事件代码:



        THISFORM.RELEASE             &&退出本表单



第四步:以文件名form_stu保存表单,并运行表单

就业数据资源平台