
clear
close all
*(1)计算每条记录的总分
use 学生表
replace all 总分 with 数学+语文+英语+数据库
*(2)将总分大于等于360分的女同学的总分提高10%
replace all 总分 with 总分*1.1 for 总分>=360
*(3)将总分大于等于320分的记录,其奖学金评定为800元
replace all 奖学金 with 800 for 总分>=320
*求总分字段最大值,最小值
go top
a=总分
min=1000
max=0
do while ! eof()
b=总分
if a>b
max=a
if b<min
min=b
endif
else
max=b
if a<min
min=a
endif
endif
skip
enddo
*(4)将总分最高的记录其奖学金增加500元,并显示该记录
replace 奖学金 with 奖学金+500 for 总分=max
display
*(5)将总分最低的记录作逻辑删除,并显示该记录
locate for 总分=min(总分)
delete
display
use
第四十四套一、基本 *** 作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下完成如下 *** 作:
1. 建立菜单QUERY_MENU。该菜单只有"查询"和"退出"两个主菜单项(条形菜单),
其中单击菜单项"退出"时,返回到VFP系统菜单(相应命令写在命令框中,不要
写在过程中)。
2. 将COURSE表的"开课系部"字段名改为"开课单位",其余不变。
3. 从数据库SCORE_MANAGER中移去表TEMP2.DBF(不是删除)。
4. 将SCORE1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高
到低排序,排序结果存入表NEW_ORDER。
本题主要考核点:
菜单的建立、字段改名、数据库表的逻辑删除、表的排序及查询去向等知识点
本题解题思路:
第1题:本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。也可用CREATE MENU命令直接调出菜单设计器。在菜单名称中填入"查询"、"退出","退出"结果为命令"SET SYSMENU TO DEFAULT"。
第2题:本题的主要考核点是字段的改名。
打开COURSE表表设计器,将光标移动到"开课系部"字段格中,将其改为"开课单位"。
第3题:本题的主要考核点是数据库表的逻辑删除。
打开考生文件夹下的" SCORE_MANAGER "数据库,在" SCORE_MANAGER "数据库设计器中,选中"TEMP2"表,点击主菜单"数据库"下的"移去",在d出的对话框中点击"移去"按钮,在随后d出的对话框中点击"是"按钮,至此便完成了"从数据库"SCORE_MANAGER"中移去表TEMP2(不是删除)"的 *** 作。
第4题:本题的主要考核点是表的排序知识,查询去向。
select * from score1 order by 学号,成绩 desc
into table new_order
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1. 在SCORE_MANAGER数据库中统计选修了课程的学生人数(选修多门时,只
计算1次),统计结果保存在一个新表NEW_TABLE中,表中只有一个字段,字段名
为学生人数。
2. 在SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含"课程
名"和"开课单位"字段,结果按课程名升序保存在一个新表NEW_TABLE2中(注意:
字段名"开课单位"是在基本 *** 作中根据"开课系部"修改后的字段名)。
本题主要考核点:
本题的主要考核点是SQL查询语句的使用,查询去向等知识点。
本题解题思路:
第1题: 本题可以通过新建一个程序来实现统计,相关代码如下所示:
SELECT Student.姓名
FROM course INNER JOIN score1
INNER JOIN student
ON Student.学号 = Score1.学号
ON Course.课程号 = Score1.课程号
WHERE Course.课程号 = score1.课程号
GROUP BY Student.姓名
into cursor temp
select count(姓名) AS 学生人数 from temp
into table NEW_TABLE
第2题:本题的主要考核点是SQL查询语句的使用。
SELECT Course.课程名, Course.开课单位
FROM course LEFT OUTER JOIN score1
LEFT OUTER JOIN student
ON Student.学号 = Score1.学号
ON Course.课程号 = Score1.课程号
WHERE Course.课程号 !=Score1.课程号
ORDER BY Course.课程名
INTO TABLE new_table2.dbf
三、综合应用(1小题,计30分)
SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。
为了对SCORE_MANAGER数据库数据进行查询,设计一个表单Myform3(控件名为
form1,表单文件名为Myform3)。表单标题为"成绩查询";表单有"查询"(名称为
Command1)和"退出"(名称为Command2)两个命令按钮。表单运行时,单击"查询"
按钮,查询每门课程的分,查询结果中含"课程名"和"分"字段,结果按
课程名升序保存在表NEW_TABLE3。
单击"退出"按钮,关闭表单。
本题主要考核点:
表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出等知识点
本题解题思路:
第一步:在Visual FoxPro主窗口中按下组合键Ctrl+N,系统d出"新建"对话框,在文件类型中选择"表单",点击"新建文件"按钮,系统将打开表单设计器;或直接在命令窗口中输入 crea form Myform3
第二步:点击工具栏按钮"表单控件工具栏",在d出的"表单控件"工具栏中,选中"命令按钮"控件,在表单设计器中拖动鼠标,这样在表单上得到一个"命令按钮"控件command1,用同样的方法为表单再加入一个"命令按钮"控件command2;
相关控件的属性值如下:
对象属性属性值
Form1 Caption 成绩查询
Command1Caption 查询
Command2Caption 退出
****命令按钮command1(查询)的Click事件代码如下****
SELECT Course.课程名, MAX(score1.成绩) AS 分
FROM course INNER JOIN score1
INNER JOIN student
ON Student.学号 = Score1.学号
ON Course.课程号 = Score1.课程号
GROUP BY Course.课程名
INTO TABLE NEW_TABLE3
****命令按钮command2(退出)的Click事件代码如下****
thisform.release
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)