上机答案.docx
《上机答案.docx》由会员分享,可在线阅读,更多相关《上机答案.docx(58页珍藏版)》请在冰点文库上搜索。
上机答案
高教培训二级VFP上机答案
第一套:
1.本题的主要考核点:
复制表结构、侯选索引的建立、快速报表的建立和预览报表文件的命令。
解题思路:
1、用命令复制表结构的命令是:
useemployee
copystructuretoemp_bak
2.在employee表设计器中的索引选项卡建立索引名为empid,索引表达式为"职员号"的候选索引。
3.启动报表向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择报表,单击向导按钮。
或者在"工具"菜单中选择"向导"子菜单,选择"报表",或直接单击工具栏上的"报表向导"图标按钮。
然后按照向导提示操作即可。
4.预览报表文件employee.frx的命令为:
reportformemployeeenvironmentpreview,并将此语句存储到名为one.prg的文件中。
2.本题的主要考核点:
表单的设置和SQL语句的使用。
解题思路:
1、在VisualFoxPro主窗口中按下组合键Ctrl+N,系统弹出"新建"对话框,在文件类型中选择"表单",点击"新建文件"按钮,系统将打开表单设计器;或直接在命令窗口中输入:
createformform1,单击右键添加数据环境,选中employee表文件添加到数据环境中。
2、点击工具栏按钮"表单控件工具栏",在弹出的"表单控件"对话框中,选中"表格"控件,在表单设计器中拖动鼠标,这样在表单上得到一个"表格"控件grid1,按题面要求将grid1的RecordSourceType属性值设置为"1-别名"、RecordSource设置为employee。
用类似的方法为表单再加入1个"命令按钮"控件command1,Caption属性值设置为"退出",command1(退出)的Click事件代码为:
thisform.release。
3、打开two.prg程序,将第2行语句修改为:
fromemployeepjoinemployeec;。
第3行语句修改为:
onp.组别=c.组别wherec.职务="组长"andc.姓名<>p.姓名;。
第二套:
1.本题主要考核点:
将一个自由表添加到数据库中、表索引的建立、表之间的永久联系的建立、参照完整性约束的编辑。
解题思路:
第1题:
打开考生文件夹下的"Ecommerce"数据库,打开数据库菜单选择"添加表(A)",在弹出的"打开"对话框中,选定考生文件夹下的OrderItem表,再点击"确定"即可,这样表OrderItem就添加到了"Ecommerce"数据库中。
第2题:
在数据库设计器中选中表OrderItem,在数据库菜单中选择"修改(Y)",弹出表设计器,选择表设计器界面中的"索引"标签,在索引名列中填入"PK",在索引类型列中选择"主索引",在索引表达式列中填入"会员号+商品号",用同样的方法再为OrderItem创建两个普通索引(升序),一个的索引名和索引表达式均是"会员号";另一个的索引名和索引表达式均是"商品号",点击"确定"按钮,保存表结构。
第3题:
在数据库设计器中,选中customer表中的索引"会员号"并拖动到表OrderItem的"会员号"的索引上并松开,这样两个表之间就建立起了永久联系。
第4题:
在第3题建立好永久联系之后,在两处表的"会员号"索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择"数据库"中的"编辑参照完整性(I)",系统弹出"参照完整性生成器"对话框,在"更新规则"标签中,选择"级联"规则,在"删除"规则中选择"限制",在"插入规则"中选择"限制",单击"确定"保存所编辑的参照完整性。
2.本题主要考核点:
查询文件的建立、利用SQL_SELECT语句建立查询。
解题思路:
第1题:
建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将"Customer"表,"article"表,"OrderItem"表添加到查询设计器中(将"article"表和"OrderItem"表通过"商品号"字段建立关联,将"Customer"表和"OrderItem"表通过"会员号"字段建立关联),在"字段"选项卡选择题面中要求的会员号、姓名、商品名、单价、数量字段,金额需要通过计算得到,在函数和表达式处输入"OrderItem.单价*OrderItem.数量as金额",单击"添加"按钮;单击查询菜单下的查询去向,选择表,输入表名ss,最后将查询保存在qq.qpr文件中,并运行该查询。
第2题:
SQL命令为:
SELECT会员号,姓名,年龄FROMCustomerWHERE年龄<=30orderby年龄DESCTOFILEcut_ab.txt,然后将此命令保存在cmd_ab.prg文件中。
第三套
1.本题主要考核点:
表单属性的设置、快捷访问键的设置、事件代码的编写。
解题思路:
1、打开表单myform,选中标签、文本框和命令按钮,选择"格式"菜单下"对齐"菜单下的"顶边对齐"。
2、将"确定"按钮的Default属性值设置为.T.。
3、将表单的Caption属性值设置为表单操作,Name属性值设置为myform。
4、设置"确定"按钮的Click事件代码:
this.parent.height=val(this.parent.text1.value)。
2.本题主要考核点:
利用SQL_SELECT语句建立查询、数据库的创建、向数据库中添加表、视图的创建。
解题思路:
第1题:
本题的考查点是利用SQL_SELECT语句建立查询。
其命令如下:
SELECTGoods.商品名,Goods.单价FROMgoods,orderitem,order;
WHEREOrderitem.订单号=Order.订单号AND;
Goods.商品号=Orderitem.商品号ANDOrder.客户名="lilan";
ORDERBYGoods.单价DESCINTOTABLEbook_temp.dbf
第2题:
创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加order和orderitem表。
再通过新建命令打开视图设计器,在"添加表或视图"对话框中添加order和orderitem表,并设置两表间的联系;在"字段"选项卡中选择订单号、签订日期和数量3个字段;切换到"筛选"选项卡,在其中进行如下设置:
字段名条件实例
orderitem.商品号="a00002"
切换到"排序依据"中选择字段"order.订单号",在"排序选项"处选择"升序",最后将视图保存在viewone文件中。
利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。
第四套
1.本题主要考核点:
表单、命令按钮、文本框属性的设置、事件代码的编写。
解题思路:
1、打开表单formone,将表单的Caption属性值设置为表单操作,命令按钮的Caption属性值设置为显示。
2、将文本框的Value属性值设置为0,Width属性值设置为60。
3、将文本框的InputMask属性值设置为99999.99。
4、设置"显示"按钮的Click事件代码:
waitstr(thisform.text1.value,8,2)window。
2.本题主要考核点:
表单、命令按钮、文本框属性的设置、事件代码的编写。
解题思路:
1、打开表单formone,将表单的Caption属性值设置为表单操作,命令按钮的Caption属性值设置为显示。
2、将文本框的Value属性值设置为0,Width属性值设置为60。
3、将文本框的InputMask属性值设置为99999.99。
4、设置"显示"按钮的Click事件代码:
waitstr(thisform.text1.value,8,2)window。
第五套
1.本题主要考核点:
将一个自由表添加到数据库中、设置有效性规则、用INDEX命令和表设计器建立表索引。
解题思路:
1、创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中添加customers表。
2、在customers表设计器中的索引选项卡建立索引名为bd,索引表达式为"出生日期"的普通索引。
3、建立有效性规则在表设计器中的字段选项卡中设置。
在"规则"栏中输入:
性别$"男女","提示信息"栏输入:
"性别必须是男或女"。
4、建立普通索引的命令为:
INDEXON客户号TAGkhhofcustomers.cdx,然后将此命令保存在pone.prg文件中。
2.本题主要考核点:
表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出。
解题思路:
第1题:
①在命令窗口输入命令:
CREATEFORMformone,打开表单设计器窗口。
②在表单上添加标签、文本框和命令按钮,并进行适当的布置和大小调整。
③设置标签、"查询"命令按钮、表单的Caption属性值。
④将文本框的Value属性值设置为"=date()"。
⑤设置"查询"按钮的Click事件代码:
SELECT姓名,性别,出生日期FROMcustomers;
WHERE出生日期>=ctod(thisform.Text1.Text);
ORDERBY出生日期DESC;
INTOTABLEtableone.dbf
⑥保存表单并运行,在文本框中输入01/01/1980,并单击"查询"命令按钮。
第2题:
打开"订单管理"数据库,单击"数据库"菜单中的"添加表",将orderitems表添加到数据库中,新建"本地视图",添加"orderitems"表到视图中,先选择"商品号"字段,再在"函数与表达式"中输入"SUM(Orderitems.数量)AS订购总量",单击"添加"按钮,在"排序依据"中选择按"商品号"升序,"分组依据"中选择"商品号",以文件名viewone保存该视图。
利用刚创建的视图viewone查询视图中的全部信息,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。
第六套
1.本题主要考核点:
在数据库中删除和添加表、表中索引的创建、表之间的永久联系的建立、SQL查询语句、快速报表的建立。
解题思路:
1、打开"College"数据库,右击删除temp表。
并将题面要求的三个表分别添加到数据库中。
2、打开"课程表"的表设计器,打开"索引"选项卡,在索引名处输入:
课程号,类型选择"主索引",表达式为:
课程号;再打开"教师表"的表设计器,打开"索引"选项卡,在索引名处输入:
课程号,类型选择"普通索引",表达式为:
课程号。
在数据库设计器中,选中课程表中的索引"课程号"并拖动到教师表的"课程号"的索引上并松开,这样两个表之间就建立起了永久联系。
3、查询"教师表"工资大于4500的教师的全部信息的SQL语句是:
select*from教师表where工资>4500orderby职工号tofileone.txt,然后将此命令保存在two.prg文件中。
4、打开"新建"对话框,在"文件类型"选项卡中选择"报表",单击"向导"按钮,再选择"报表向导",单击"确定"按钮,打开"报表向导"设计器,然后按照"报表向导"的提示逐步创建报表three即可。
2.本题主要考核点:
程序的修改及视图的建立。
解题思路:
第1题:
本题是一个程序修改题。
第一处错误应改为:
SELECT系号FROM学院表WHERE系名="信息管理"INTOARRAYa;第二处错误应改为:
USE教师表;第三处错误应改为:
SCANFOR系号=a;第四处添加的程序为:
num=num+1。
第2题:
在新建对话框中、项目管理器中、或用CREATVIEW命令打开视图设计器,建立一个视图,将"课程表"、"学院表"和"教师表"添加到视图中,并将题中指定字段添加到视图中;切换到"筛选"中选择字段"课程表.学时",条件为">=",实例为"60";切换到"排序依据"中选择字段"学院表.系名",在"排序选项"处选择"升序",再选择字段"教师表.姓名",在"排序选项"处选择"降序";最后将视图命名为course_v。
利用刚创建的视图course_v查询视图中的全部信息,在"添加表或视图"对话框中选择course_v视图,在字段中选择所有字段,设置查询去向为表se.dbf。
第七套
1.本题主要考核点:
将自由表添加到数据库中、设置有效性规则、修改程序、表单向导的使用。
解题思路:
1、创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加"教师表"、"课程表"和"学院表"。
2、在教师表的表设计器中,选中"职工号"字段,并在"字段有效性"的"规则"文本框中输入:
LEFT(职工号,4)="1102"。
点击"确定"按钮,保存对表结构的修改。
3、打开one.prg程序,将第4条语句修改为:
i=i+2。
4、打开"新建"对话框,在"文件类型"选项卡中选择"表单",单击"向导"按钮,再选择"表单向导",然后按照表单向导操作即可。
2.本题主要考核点:
程序的修改和查询的建立。
解题思路:
第1题:
本题是一个程序修改题。
修改后的程序为:
SELECT系名,avg(工资)as平均工资,max(工资)as最高工资;
FROM教师表,学院表WHERE教师表.系号=学院表.系号;
GROUPBY学院表.系号;
ORDERBY3DESC,2DESC;
INTOtablethree
第2题:
建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将"课程表"和"教师表"添加到查询设计器中,在"字段"选项卡选择"姓名"、"课程名"、"学时"字段;切换到"筛选"中选择"课程表.学时","条件"选择">=","实例"中输入60;切换到"排序依据"中选择字段"课程表.学时",在"排序选项"处选择"升序",选择"教师表.姓名"字段,在"排序选项"处选择"降序";单击查询菜单下的查询去向,选择表,输入表名five,最后将查询保存在course_q.qpr文件中,并运行该查询。
第八套
1.本题主要考核点:
从数据库中删除表、表中索引的创建和表之间的永久联系的建立。
解题思路:
1、打开"订单管理"数据库,右击删除customer表。
2、打开"employee"的表设计器,打开"索引"选项卡,在索引名处输入:
xb,类型选择"普通索引",表达式为:
性别,排序为升序。
3、再在索引名处输入:
xyz,类型选择"普通索引",表达式为:
str(组别,1)+职务,排序为升序。
4、接着,在索引名处输入:
职员号,类型选择"主索引",表达式为:
职员号。
再打开"orders"的表设计器,打开"索引"选项卡,在索引名处输入:
职员号,类型选择"普通索引",表达式为:
职员号。
在数据库设计器中,选中employee表中的索引"职员号"并拖动到orders表的"职员号"的索引上并松开,这样两个表之间就建立起了永久联系。
2.本题的主要考核点:
表单的设置、建立查询。
解题思路:
第1题:
1、打开表单文件formone.scx,单击右键添加数据环境。
2、设置组合框的Style属性为.2-下拉列表框,RowSourceType属性值设置为:
6-字段、RowSource设置为:
employee.姓名。
3、设置文本框Text1的ReadOnly属性值为:
.T.-真。
4、修改组合框的InteractiveChange事件代码如下:
将***FOUND***下的代码修改为:
thisform.text1.value=m2
第2题:
建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将employee和orders表添加到查询设计器中,在"字段"选项卡选择"订单号"、"金额"字段,再在"函数和表达式"中输入"Employee.姓名AS签订者",单击"添加"按钮;切换到"筛选"中选择"Employee.组别","条件"选择"=","实例"中输入1;切换到"排序依据"中选择字段"orders.金额",在"排序选项"处选择"降序";单击查询菜单下的查询去向,选择表,输入表名tableone,最后将查询保存在queryone.qpr文件中,并运行该查询。
第九套
1.本题主要考核点:
表单及表单控件属性的设置、新建表单方法、访问键的设置、事件代码的编写。
解题思路:
1、打开表单myform,将表单的Name属性值设置为myform,Caption属性值设置为"表单操作"。
2、将标签的TabIndex属性设置为1,文本框的TabIndex属性设置为2,命令按钮的TabIndex属性设置为3。
3、在"表单"菜单中选择"新建方法程序"命令,新建一个名为mymethod的方法,在myform表单的属性窗口中双击此方法打开用户自定义过程代码,输入:
wait"文本框的值是"+this.text1.valuewindow
4、将"请输入(s)"标签的Caption属性设置为:
请输入(\
设置"确定"按钮的Click事件代码为:
thisform.mymethod。
2.本题主要考核点:
利用查询设计器建立查询、数据库的创建、向数据库中添加表、视图的创建。
解题思路:
第1题:
建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将order、orderitem和goods表添加到查询设计器中,并设置三表间的联系。
在"字段"选项卡选择"订单号"、"客户名"、"签订日期"、"商品名"、"单价"和"数量"字段,再在"函数和表达式"中输入"Goods.单价*Orderitem.数量AS金额",单击"添加"按钮;切换到"排序依据"中选择字段"order.订单号",在"排序选项"处选择"降序",再选择字段"Goods.商品名",在"排序选项"处选择"降序";单击查询菜单下的查询去向,选择表,输入表名tableone,最后将查询保存在queryone.qpr文件中,并运行该查询。
第2题:
创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,在数据库设计器中依次添加order、orderitem和goods表。
再通过新建命令打开视图设计器,在"添加表或视图"对话框中添加order、orderitem和goods表,并设置三表间的联系;在"字段"选项卡中选择订单号、签订日期、商品名、单价和数量5个字段;切换到"筛选"选项卡,在其中进行如下设置:
字段名条件实例
order.客户名="lilan"
切换到"排序依据"中选择字段"order.订单号",在"排序选项"处选择"升序",再选择字段"Goods.商品名",在"排序选项"处选择"升序",最后将视图保存在viewone文件中。
利用刚创建的视图viewone查询视图中的全部信息,新建一个查询,在"添加表或视图"对话框中选择viewone视图,在字段中选择所有字段,设置查询去向为表tabletwo。
第十套
1.本题的主要考核点:
数据库的建立、将自由表添加到数据库中、主索引和普通索引的建立、建立两个表之间的联系、设置参照完整性约束。
解题思路:
1、创建数据库可以使用"文件"菜单完成,选择文件--新建--数据库--新建文件,输入数据库名称为"订单管理",在数据库设计器中依次添加order、orderitem和goods表。
2、打开order表的表设计器,打开"索引"选项卡,在索引名处输入:
nf,类型选择"普通索引",表达式为:
year(签订日期)。
3、接着,在索引名处输入:
订单号,类型选择"主索引",表达式为:
订单号。
再打开orderitem表的表设计器,打开"索引"选项卡,在索引名处输入:
订单号,类型选择"普通索引",表达式为:
订单号。
在数据库设计器中,选中order表中的索引"订单号"并拖动到orderitem表的"订单号"的索引上并松开,这样两个表之间就建立起了永久联系。
4、为联系指定参照完整性:
在联系上单击右键,打开"编辑参照完整性"对话框或者在"数据库"菜单中选择"编辑参照完整性",打开"参照完整性"生成器。
选择更新规则为"限制",删除规则为"级联",插入规则为"限制"。
2.本题主要考核点:
利用查询设计器建立查询、SQL语句运用。
解题思路:
第1题:
建立查询可以使用"文件"菜单完成,选择文件--新建--查询--新建文件,将order、orderitem和goods表添加到查询设计器中,并设置三表间的联系。
在"字段"选项卡选择"订单号"、"客户名"、"签订日期"、"商品名"、"单价"和"数量"字段;切换到"筛选"中,在"字段名"的表达式中输入:
YEAR(Order.签订日期),"条件"中选择"=","实例"中输入:
2001;切换到"排序依据"中选择字段"order.订单号",在"排序选项"处选择"降序",再选择字段"Goods.商品名",在"排序选项"处选择"降序";单击查询菜单下的查询去向,选择表,输入表名tableone,最后将查询保存在queryone.qpr文件中,并运行该查询。
第2题:
设置"确定"按钮的Click事件代码:
selectOrder.订单号,Order.签订日期,Goods.商品名,Goods.单价,Orderitem.数量;
fromgoods,orderitem,order;
whereOrder.订单号=Orderitem.订单号andGoods.商品号=Orderitem.商品号;
andOrder.客户名=thisform.Text1.Text;
orderbyOrder.订单号,Goods.商品名intotabletabletwo.dbf
保存表单并运行,在文本框中输入lilan,并单击"确定"命令按钮。
第十一套
1.本题主要考核点:
将一个自由表添加到数据库中、表结构的建立、表索引的建立、将表移出数据库并删除该表等知识点
本题解题思路:
第一步:
打开考生文件夹下的"订货管理"数据库
第二步:
打开数据库菜单选择"添加表(A)"在弹出的"打开"对话框中,选定考生文件夹下的order_list表,再点击"确定"即可
第三步:
再次打开数据库菜单选择"新建表(N)",在弹出的对话框中选择"新建表",并在弹出"创建"对话框中选定考生文件夹,在输入表名中填入"customer",再点击保存。
第四步:
在弹出的表设计器中按题面的要求依次输入各个字段的定义,选择"索引"标签,在索引名列中填入"客户号",在索引类型列中选择"主索引",在索引表达式列中填入"客户号",点击"确定"按钮,保存表结构。
第五步:
在数据库设计器窗口中单击选中order_detail,打开主窗口的数据库菜单选择"移去(R)",并在弹出的菜单中选择"删除(d)"即可,这样就将表order_detail从数据库中移出,并永久删除。
2.本题主要考核点:
SQL中的查询SELECT