全国计算机等级考试二级VFP全真上机试题解析.docx
《全国计算机等级考试二级VFP全真上机试题解析.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级VFP全真上机试题解析.docx(12页珍藏版)》请在冰点文库上搜索。
全国计算机等级考试二级VFP全真上机试题解析
2004年全国计算机等级考试二级VFP全真上机试题解析
2004年全国计算机等级考试二级VFP全真上机试题解析2004年全国计算机等级考试二级VFP全真上机试题解析2004年全国计算机等级考试二级vfp全真上机试题解析
第1题:
1.建立菜单query_menu。
该菜单只有"查询"和"退出"两个主菜单项(条形菜单),其中单击菜单项"退出"时,返回到vfp系统菜单(相应命令写在命令框中,不要写在过程中)。
2.将course表的"开课系部"字段名改为"开课单位",其余不变。
3.从数据库score_manager中移去表temp2.dbf(不是删除)。
4.将score1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高
到低排序,排序结果存入表new_order。
本题主要考核点:
菜单的建立、字段改名、数据库表的逻辑删除、表的排序及查询去向等知识点
本题解题思路:
第1题:
本题的主要考核点是菜单的建立。
新建菜单可按下列步骤:
选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。
在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。
也可用createmenu命令直接调出菜单设计器。
在菜单名称中填入"查询"、"退出","退出"结果为命令"setsysmenutodefault"。
第2题:
本题的主要考核点是字段的改名。
打开course表表设计器,将光标移动到"开课系部"字段格中,将其改为"开课单位"。
第3题:
本题的主要考核点是数据库表的逻辑删除。
打开考生文件夹下的"score_manager"数据库,在"score_manager"数据库设计器中,选中"temp2"表,点击主菜单"数据库"下的"移去",在弹出的对话框中点击"移去"按钮,在随后弹出的对话框中点击"是"按钮,至此便完成了"从数据库"score_manager"中移去表temp2(不是删除)"的操作。
第4题:
本题的主要考核点是表的排序知识,查询去向。
select*fromscore1orderby学号,成绩descintotablenew_order
第2题:
1.在score_manager数据库中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表new_table中,表中只有一个字段,字段名为学生人数。
2.在score_manager数据库中查询没有学生选修的课程,查询结果含"课程名"和"开课单位"字段,结果按课程名升序保存在一个新表new_table2中(注意:
字段名"开课单位"是在基本操作中根据"开课系部"修改后的字段名)。
本题主要考核点:
本题的主要考核点是sql查询语句的使用,查询去向等知识点。
本题解题思路:
第1题:
本题可以通过新建一个程序来实现统计,相关代码如下所示:
selectstudent.姓名;
fromcourseinnerjoinscore1;
innerjoinstudent;
onstudent.学号=score1.学号;
oncourse.课程号=score1.课程号;
wherecourse.课程号=score1.课程号;
groupbystudent.姓名;
intocursortemp
selectcount(姓名)as学生人数fromtemp;
intotablenew_table
第2题:
本题的主要考核点是sql查询语句的使用。
selectcourse.课程名,course.开课单位;
fromcourseleftouterjoinscore1;
leftouterjoinstudent;
onstudent.学号=score1.学号;
oncourse.课程号=score1.课程号;
wherecourse.课程号!
=score1.课程号;
orderbycourse.课程名;
intotablenew_table2.dbf
第3题:
score_manager数据库中含有三个数据库表student、score1和course。
为了对score_manager数据库数据进行查询,设计一个表单myform3(控件名为form1,表单文件名为myform3)。
表单标题为"成绩查询";表单有"查询"(名称为command1)和"退出"(名称为command2)两个命令按钮。
表单运行时,单击"查询"按钮,查询每门课程的最高分,查询结果中含"课程名"和"最高分"字段,结果按课程名升序保存在表new_table3。
单击"退出"按钮,关闭表单。
本题主要考核点:
表单文件的创建、控件的属性的修改、sql语句运用、表单的退出等知识点
本题解题思路:
第一步:
在visualfoxpro主窗口中按下组合键ctrl+n,系统弹出"新建"对话框,在文件类型中选择"表单",点击"新建文件"按钮,系统将打开表单设计器;或直接在命令窗口中输入creaformmyform3。
第二步:
点击工具栏按钮"表单控件工具栏",在弹出的"表单控件"工具栏中,选中"命令按钮"控件,在表单设计器中拖动鼠标,这样在表单上得到一个"命令按钮"控件command1,用同样的方法为表单再加入一个"命令按钮"控件command2;
相关控件的属性值如下:
对象属性属性值
form1caption成绩查询
command1caption查询
command2caption退出
****命令按钮command1(查询)的click事件代码如下****
selectcourse.课程名,max(score1.成绩)as最高分;
fromcourseinnerjoinscore1;
innerjoinstudent;
onstudent.学号=score1.学号;
oncourse.课程号=score1.课程号;
groupbycourse.课程名;
intotablenew_table3
****命令按钮command2(退出)的click事件代码如下****
thisform.release
第4题:
1.打开数据库score_manager,该数据库中含三个有联系的表student、score1和course,根据已经建立好的索引,建立表之间联系。
2.为course表增加字段:
开课学期(n,2,0)。
3.为score1表"成绩"字段设置字段有效性规则:
成绩=0,出错提示信息是:
"成绩必须大于或等于零"。
4.将score1表"成绩"字段的默认值设置为空值(null)。
本题主要考核点:
为已建立索引的表建立联系、设置字段的默认值、字段的添加、字段有效性的设置等知识点
本题解题思路:
第1题:
本题的主要考核点是建立两个表之间永久联系。
在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。
第2题:
本题的主要考核点是字段的添加的方法。
打开course表表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。
第3题:
本题的主要考核点是字段有效性的设置。
在表设计器中,选中"成绩"字段,在"字段有效性"中的"规则"文本框中填入:
成绩=0,在"信息"文本框中中填入"成绩必须大于或等于零",单击确定。
第4题:
本题的主要考核点是字段默认值的设置。
在表设计器对话框中,选择"成绩"字段,点击null列下的按钮(表示此列允许空值),然后再在"字段有效性"中的默认值中填入.null.,单击确定。
第5题:
1.在score_manager数据库中查询学生的姓名和年龄(计算年龄的公式是:
2003-year(出生日期),年龄作为字段名),结果保存在一个新表new_table1中。
使用报表向导建立报表new_report1,用报表显示new_table1的内容。
报表
中数据按年龄升序排列,报表标题是"姓名-年龄",其余参数使用缺省参数。
2.在score_manager数据库中查询没有选修任何课程的学生信息,查询结果包括"学号"、"姓名"和"系部"字段,查询结果按学号升序保存在一个新表new_table2中。
本题主要考核点:
本题的主要考核点是sql查询语句的使用,查询去向、报表向导的使用等知识点
本题解题思路:
第1题:
本题的主要考核点是sql查询语句的使用,查询去向、报表向导的使用。
select姓名,2003-year(出生日期)as年龄;
fromstudent;
intotablenew_table1.dbf
启动报表向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择报表,单击向导按钮。
或者在"工具"菜单中选择"向导"子菜单,选择"报表",或直接单击工具栏上的"报表向导"图标按钮。
然后按照向导提示操作即可。
第2题:
本题的主要考核点是sql查询语句的使用。
selectstudent.学号,student.姓名,student.系部;
fromcourserightouterjoinscore1;
rightouterjoinstudent;
onstudent.学号=score1.学号;
oncourse.课程号=score1.课程号;
wherestudent.学号!
=score1.学号;
orderbystudent.学号;
intotablenew_table2.dbf
第6题:
1.用sql语句完成下列操作:
将选课在5门课程以上(包括5门)的学生的学号、姓名、平均分和选课门数按平均分降序排序,并将结果存放于数据库表stu_temp(字段名为学号、姓名、平均分和选课门数)。
2.建立一个名为menu_lin的下拉式菜单,菜单中有两个菜单项"查询"和"退出"。
"查询"项下还有一个子菜单,子菜单有"按姓名"和"按学号"两个选项。
在"退出"菜单项下创建过程,该过程负责使程序返回到系统菜单。
本题主要考核点:
sql查询语句的使用,查询去向、下拉式菜单的建立等知识点
本题解题思路:
第1题:
本题的主要考核点是sql查询语句的使用,查询去向。
select学生.学号,学生.姓名,avg(选课.成绩)as平均分,;
count(选课.课程号)as选课门数;
from学生!
学生innerjoin学生!
选课;
innerjoin学生!
课程;
on课程.课程号=选课.课程号;
on学生.学号=选课.学号;
groupby学生.姓名;
havingcount(选课.课程号)
orderby3desc;
intotablestu_temp.dbf
第2题:
本题的主要考核点是菜单的建立。
新建菜单可按下列步骤:
选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。
在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。
也可用createmenu命令直接调出菜单设计器。
在菜单名称中填入"查询"、"退出","查询"结果为子菜单,单击编辑;在子菜单的菜单名称中输入"按姓名"、"按学号","退出"结果为过程,单击编辑,填入"setsysmenutodefault"(不要引号)。
第7题:
设计名为mystock的表单(控件名,文件名均为mystock)。
表单的标题为:
"股票持有情况"。
表单中有两个文本框(text1和text2)和两个命令按钮"查询"(名称为command1)和"退出"(名称为command2)。
运行表单时,在文本框text1中输入某一股票的汉语拼音,然后单击"查询",则text2中会显示出相应股票的持有数量。
单击"退出"按钮关闭表单。
本题主要考核点:
表单的创建、控件的属性的修改、表单的退出、sql查询等知识点
本题解题思路:
第一步:
在visualfoxpro主窗口中按下组合键ctrl+n,系统弹出"新建"对话框,在文件类型中选择"表单",点击"新建文件"按钮,系统将打开表单设计器;或直接在命令窗口中输入creaformmystock。
第二步:
点击工具栏按钮"表单控件工具栏",在弹出的"表单控件"对话框中,选中"命令按钮"控件,在表单设计器中拖动鼠标,这样在表单上得到一个"命令按钮"控件command1,用类似的方法为表单加入一个"命令按钮"控件command2,二个"文本框"控件text1和text2。
相关控件的属性值如下表所示:
对象属性属性值
form1namemystock
caption股票持有情况
command1caption查询
command2caption退出
***命令按钮command1(查询)的click事件代码如下****
selectstock_sl.持有数量;
fromstock!
stock_nameinnerjoinstock!
stock_sl;
onstock_name.股票代码=stock_sl.股票代码;
wherestock_name.汉语拼音=alltrim(thisform.text1.value);
intoarraytemp
thisform.text2.value=temp
***命令按钮command2(退出)的click事件代码如下***
thisform.release
第8题:
1.使用报表向导建立一个简单报表。
要求选择客户表customer中所有字段;记录不分组;报表样式为随意式;列数为"1",字段布局为"列",方向为"纵向";排序字段为"会员号",升序;报表标题为"客户信息一览表";报表文件名为
myreport。
2.使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。
视图中包括客户的会员号(来自customer表)、姓名(来自customer表)、客户所购买的商品名(来自article表)、单价(来自orderitem
表)、数量(来自orderitem表)和金额(orderitem.单价*orderitem.数量),结果按会员号升序排序。
本题主要考核点:
报表向导的使用,用命令建立视图等知识点
本题解题思路:
第1题:
本题的主要考核点是使用报表向导制作报表。
启动报表向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择报表,单击向导按钮。
或者在"工具"菜单中选择"向导"子菜单,选择"报表",或直接单击工具栏上的"报表向导"图标按钮。
然后按照向导提示操作即可。
第2题:
本题的主要考核点是用命令建立视图。
creaviewsb_view
selectcustomer.会员号,customer.姓名,article.商品名,orderitem.单价,;
orderitem.数量,orderitem.单价*orderitem.数量as金额;
fromecommerce!
customerinnerjoinecommerce!
orderitem;
innerjoinecommerce!
articleonarticle.商品号=orderitem.商品号;
oncustomer.会员号=orderitem.会员号orderbycustomer.会员号
第9题:
1.打开ecommerce数据库,并将考生文件夹下的自由表orderitem添加到该数据库。
2.为orderitem表创建一个主索引,索引名为pk,索引表达式为"会员号+商品号";再为orderitem创建两个普通索引(升序),一个的索引名和索引表达式均是"会员号";另一个的索引名和索引表达式均是"商品号"。
3.通过"会员号"字段建立客户表customer和订单表orderitem之间的永久联系(注意不要建立多余的联系)。
4.为以上建立的联系设置参照完整性约束:
更新规则为"级联";删除规则为"限制";插入规则为"限制"。
本题主要考核点:
将一个自由表添加到数据库中、表索引的建立、表之间的永久联系的建立、参照完整性约束的编辑等知识点
本题解题思路:
第1题:
打开考生文件夹下的"ecommerce"数据库,打开数据库菜单选择"添加表(a)",在弹出的"打开"对话框中,选定考生文件夹下的orderitem表,再点击"确定"即可,这样表order_detail就添加到了"ecommerce"数据库中。
第2题:
在数据库设计器中选中表orderitem,在主菜单中选择"修改(y)",弹出表设计器,选择表设计器"索引"标签,在索引名列中填入"pk",在索引类型列中选择"主索引",在索引表达式列中填入"会员号+商品号",用同样的方法再为orderitem创建两个普通索引(升序),一个的索引名和索引表达式均是"会员号";另一个的索引名和索引表达式均是"商品号"点击"确定"按钮,保存表结构。
第3题:
在数据库设计器中,选中customer表中的索引"会员号"并拖动到表orderitem的"会员号"的索引上并松开,这样两个表之间就建立起了永久联系。
第4题:
在第3题建立好永久联系之后,在两处表的"会员号"索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择"数据库"中的"编辑参照完整性(i)",系统弹出"参照完整性生成器"对话框,在"更新规则"标签中,选择"级联"规则,在"删除"规则中选择"限制",在"插入规则"中选择"限制",单击"确定"保存所编辑的参照完整性。
第10题:
1.modi1.prg程序文件中sqlselect语句的功能是查询哪些零件(零件名称)目前用于三个项目,并将结果按升序存入文