计算机等级考试二级VFP机试试题9
第九集
一、基本操作题(共四个子题,1、2题7分,3、4题8分)
1。打开考生文件夹下的数据库CUST_M,为CUST表建立主索引,索引名为客户号。
索引表达式是客户号。
2。CUST表和ORDER1表中的必要索引已经建立,以便在这两个表之间建立永久连接。
3。在CUST表中增加一个字段:客户级别C(2),字段值允许为空。
4。为ORDER1表中的“金额”字段添加有效性规则:金额大于零,否则,提示:金额必须为
大于零。
本问题主要评估点:
建立主索引,建立索引表的链接,添加字段,建立字段有效性规则。
解决问题的思路:
1。在表设计器的“索引”页上,建立主索引,其索引名称索引表达式都是客户编号。
2。在两个表之间建立连接。选择父表中的主索引,按住鼠标拖动到子表中对应的常用索引,然后松开鼠标,联系就建立了。
3。添加字段的方法:
打开CUST表的表设计器,将光标移动到最后一个空字段单元格,输入新的字段名称、字段类型和长度。如果允许字段值为空,则选择“NULL”项。
4。建立有效性规则的一个简单而直接的方法是在表设计器中建立它们。在表设计器中,首先选择要定义有效性规则的字段“财务”,在“规则”列中输入“金额> 0”(或用表达式生成器生成),在“信息”列中输入“金额必须大于零”。
二。简单应用(2道小题,每题20分,40分)
1。考生文件夹里有一个数据库SDB,包括数据库表STUDENT2、SC和
课程2 .这三个表格如下:
STUDENT2(学号,姓名,年龄,性别,系号)
SC(学号,课程号,成绩,备注)
课程2(课程编号、课程名称、先决条件编号、学分)
考生文件夹下有一个程序dbtest3.prg。该程序的功能是定义视图VS1,
选修课数是3门以上课程每个学生的学号、姓名、平均分、最低分、选择。
课程号和系号,按平均分降序排列。请纠正程序中的错误并调试它。
这个程序使它正确运行。不能添加或删除任何程序行。
2。考生文件夹下有一个数据库CUST_M。数据库中有两个表CUST和订单1。请
使用菜单设计器制作一个名为MY_MENU的菜单,该菜单只有一个菜单“浏览”。
项。
浏览菜单项中有三个子菜单:“客户”、“订单”和“退出”:
CUSTomer子菜单使用SELECT * FROM CUST命令查询CUST表;
order子菜单使用SELECT * FROM ORDER1命令查询ORDER1表;
退出子菜单使用SET SYSMENU TO DEFAULT命令返回系统菜单。
问题1,这个问题是程序修改问题。第一个错误在“使用数据库SDB”行。打开数据库的命令错误。应该是“开放数据库SDB”。第二个错误是在“FROM STUDENT2,COURSE2”中,根据题目中给出的程序,下一行是“WHERE STUDENT2”。学号= SC。学号”,显示应该在Student和SC表中选择,COURSE2应该改为SC。“按年级排序”行中的第三个错误应改为“按DESC平均年级排序”,因为要求按平均年级降序排序。
问题2,本题主要考核点是建立菜单。可以采取以下步骤来创建新菜单:从“文件”菜单中选择“新建”,从“新建”对话框中选择“菜单”,然后单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。您也可以使用创建菜单命令直接调用菜单设计器。在菜单名中填入“浏览”,结果就是一个子菜单。单击编辑。在子菜单的菜单名中输入“客户”、“订单”、“退出”,结果都是命令。在相应的命令字段中输入相应的命令,并保存为MY_MENU。
三。综合应用(1小题,30分)
考生文件夹下有一个学生管理数据库stu_3,数据库中有一个score_fs表。它的表结构是
学生证C(10),物理I,高数I,英语I,平均分N(6.2)。如果分数是-1,就意味着
学生没有选这门课。其中,表格的前四项有数据。
请编写并运行符合下列要求的程序:
设计一个名为form_my的窗体。表单中有两个命令按钮。这些按钮的名称是
cmdYes和CmdNo,标题分别为“Statistics”和“Closing”。
程序运行时,点击“统计”按钮应完成以下操作:
(1)计算每个学生的平均分,存入平均分字段。注:平均分中不计入-1分,
比如一个学生的三个成绩存储为90,-1,70,平均分应该是80。
(2)根据上面的计算结果,生成一个新的PJF表,其中只包括学号和两者的平均分。
项,并按平均分降序排列。如果平均分相等,按学号升序排序。
单击“关闭”按钮终止程序。
本问题主要评估点:
编程中表单的建立、循环结构、条件结构、SELECT语句的应用等知识点。
解决问题的思路:
第一步:使用表单设计器创建所需的表单,表单中将添加两个按钮控件。分别设置两个按钮控件的title和name属性。
第二步:双击名为“统计”的按钮控件,在新打开的窗口中添加该按钮的点击事件代码:
SET TALK OFF &&关闭程序中命令结果的显示
设置安全关闭&&当生成的文件有重名时关闭提示。
打开数据库STU_3 &&打开数据库文件STU_3(也可以直接将数据库文件添加到表单的数据环境中)
使用SCORE_FS
走
DO WHILE NOT EOF() &&遍历每条记录。
存储0到RS,PJF &&RS表示你参加过几个科目的考试,PJF表示你参加过的科目的分数之和。
如果物理-1那么&&判断你是否考了物理。
RS=RS+1 &&如果考物理,考试科目加1。
PJF=PJF+物理& &如果你考了物理,成绩会和物理成绩相加。
ENDIF
如果数字高-1,则
RS=RS+1
PJF=PJF+更高的数字
ENDIF
如果英语为1,则
RS=RS+1
PJF=PJF+英语
ENDIF
如果RS0,那么&&如果您参加了科目考试,则计算平均分。
用PJF/RS替换平均分&&计算平均分并将其写入当前记录的“平均分”字段。
ENDIF
跳过
ENDDO
选择学生编号,将SCORE_FS中的平均分数按DESC的平均分数排序,将学生编号放入表PJF中
&&在SELECT语句中使用ORDER BY子句对查询进行排序。ORDER BY子句的默认顺序是升序。如果你想参考
&& DESC要求按降序书写。如果有多个排序基,它们将按照优先级顺序放在ORDER BY子句的后面。
&&相互分开使用;可以使用INTO TABLE子句从查询结果中生成永久表或临时表。
&&格式为:INTO游标临时表名。
全部关闭&&关闭打开的数据库等。
设置安全并恢复原始设置。
开启通话
步骤3:使用相同的方法为标题为“Exit”的按钮控件添加以下CLICK事件代码:
thisForm.release &&退出此表单。
0条评论