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

第十三套


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



1、在考生文件夹下建立项目STSC_M。



2、把数据库STSC加入到STSC_M项目中。



3、从STUDENT表中查询"金融"系学生信息( STUDENT表全部字段),按学号升序存入



   新表NEW。



4、使用视图设计器在数据库中建立视图NEW_VIEW:视图包括STUDENT表全部字段(字



   段顺序和STUDENT表一样)和全部记录(元组),记录按学号降序排序。



本题的主要考核点:



  项目的建立、将数据库添加到项目中、查询并存入新表、视图的建立。



解题思路:



1.建立项目



创建项目可用"文件"菜单中的"新建"命令。



2.将数据库加入到项目中:



在项目管理器的"数据"选项卡选择数据库,单击"添加",在"打开"对话框中选择要添加的数据库



3.用SQL语句



select * from student.dbf where 院系="金融";



into table new order by 学号 desc



可完成此查询。



也可建立一个查询完成。在菜单中选择文件--新建--查询--新建文件,添加全部字段,在筛选栏中输入"院系="金融"",排序选择"学号"升序,并将查询去向设为表NEW。注意NEW要保存到考生文件夹下。最后运行此查询即可。



4.打开数据库以后,在新建对话框中、项目管理器中、或用CREAT VIEW命令打开视图设计器建立一个视图,将STUDENT表添加到视图中,在排序依据中选择"学号"、降序,最后将视图命名为NEW_VIEW。



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



    1、首先打开考生文件夹中的数据库中的数据库STSC,然后使用表单向导制作一



       个表单,要求选择STUDENT表中所有字段,表单样式为阴影式;按钮类型为



       图片按钮;排序字段选择学号(升序);表单标题为"学生信息数据输入维



       护",最后将表单存放在考生文件夹中,表单文件名为T1。



    2、在考生文件夹中有一个数据库 STSC,其中有数据库表STUDENT存放学生信



       息,使用菜单设计器制作一个名为SMENU1的菜单,菜单包括"数据维护",



       和"文件"两个菜单栏。



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



       数据维护



           数据表格式输入



       文件



           退出



      其中:



      ·数据表格式输入菜单项对应的过程包括下列4条命令:打开数据库STSC的命



        令,打开表STUDENT的命令,BROWSE命令,关闭数据库的命令。



      ·退出菜单项对应命令 SET SYSMENU TO DEFAULT,使之可以返回到系统菜



        单。



第1题,本题的主要考核点是使用表单向导制作表单。



启动表单向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择表单,单击向导按钮。或者在"工具"菜单中选择"向导"子菜单,选择"表单",或直接单击工具栏上的"表单向导"图标按钮。在"向导选取"对话框中选择"表单向导"。然后按照表单向导操作即可。



第2题,本题的主要考核点是菜单的制作和数据库基本命令。



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



OPEN DATA STSC



USE STUDENT



BROWSE



CLOSE ALL



"文件"菜单同上,其中"退出"菜单对应结果为命令,命令为SET SYSMENU TO DEFAULT。




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



    在考生文件夹下有学生管理数据库stu_7,该库中有CHENGJI表和XUESHENG表,



    各表结构如下:



    (1) CHENGJI表(学号C(9)、课程号C(3)、成绩N(7.2)),该表用于记录学生的考



        试成绩,单一个学生可以有多项记录(登记一个学生的多门成绩)。



    (2) XUESHENG表(学号C(9)、姓名C(10)、平均分N(7.2)),该表是学生信息,一



        个学生只有一个记录(表中有固定的已知数据)。



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



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



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



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



   (1) 根据CHENGJI表计算每个学生的平均分,并将结果存入XUESHENG表的平均分



       字段。



   (2) 根据上面的计算结果,生成一个新的自由表 pingjun,该表的字段按顺序取



       自XUESHENG表的学号、姓名和平均分三项,并且按平均分升序排序,如果平



       均分相等,则按学号升序排序。



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





本题主要考核点:



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



解题思路:



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



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



        SET TALK OFF   &&在程序运行的情况下关闭命令执行的结果



        SET SAFETY OFF   &&当出现文件重名时不出现提示



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



        USE XUESHENG          &&在当前工作区打开XUESHENG表



        DO WHILE NOT EOF()     &&遍历学生表中的每一个记录这样可以对每一个学生进行操作



            SELECT AVG(成绩) FROM CHENGJI;



            WHERE 学号=XUESHENG.学号 INTO ARRAY Atemp



            &&SELECT SQL语句中可以利用AVG()函数得到某一表达式的平均值



            &&可以将结果集存入一个数组之中INTO ARRAY Atemp



            REPLACE 平均分 WITH Atemp(1,1)



            &&将所得到的平均分代替当前学号的在XUESHENG表中的平均分



            SKIP



        ENDDO



        SELECT 学号,姓名,平均分 FROM XUESHENG;



        ORDER BY 平均分,学号;



        INTO TABLE PINGJUN



        &&在SELECT SQL语句中可以利用ORDER BY 子句对结果集进行排序,如果有多个排序依据



        &&在ORDER BY 中排在前面的优先级更高一些,另外默认的是以升序进行排序,如果要以降



        &&序进行排序,需要显示指定DESC;对结果集可以直接放入到一个永久



&&表中:INTO TABLE 表名



        CLOSE ALL



        SET TALK ON



        SET SAFETY ON



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



        THISFORM.RELEASE   &&退出表单



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

就业数据资源平台