vfp上机答案.docx
《vfp上机答案.docx》由会员分享,可在线阅读,更多相关《vfp上机答案.docx(90页珍藏版)》请在冰点文库上搜索。
vfp上机答案
一套1.
(1)CREATETABLE教师(编号C(8),姓名C(10),性别C
(2),职称C(8))
(2)UPDATE课程SET任课教师="T2222"WHERE课程名="数据库"
2、
(1)在“表单设计器”中,建立一个计时器控件Timer1,在“属性”的Interval处输入“200”,再双击此计时器控件,
在“Timer1.Timer”编辑窗口中输入下列命令组,再关闭此窗口。
THISFORM.Label1.Left=THISFORM.Label1.Left-10
IfTHISFORM.Label1.Left<=-THISFORM.Label1.WidthThen
THISFORM.Label1.Left=THISFORM.WIDTH
ENDIF
(2).在“表单设计器”中,添加一个命令按钮,在“属性”窗口的Caption处输入“关闭”,双击“关闭”命令按钮,
在“Command1.Click”编辑窗口中输入“ReleaseThisform”,接着关闭编辑窗口。
3、菜单4.在“浏览课程”子菜单的“结果”选择“过程”并输入命令下列语句
myform.grid1.recordsource="课程"
5.在“浏览选课统计”子菜单的“结果”选择“过程”并输入命令下列语句
myform.grid1.recordsource="sview"
6.在“预览报表”子菜单的“结果”选择“命令”并输入命令“reportformcreportpreview”。
7.在“退出”主菜单的“结果”选择“命令”并输入命令“myform.release”。
8.单击工具栏上“保存”按钮,在弹出“保存”对话框中输入“mymenu”即可。
9.在“菜单设计器”窗口下,单击“菜单”菜单栏,选择“生成”菜单项,生成“mymenu.mpr”文件。
修改表单
1.输入修改表单命令
MODIFYFORMmyform
2.在“表单设计器”中,在其“属性”的ShowWindow处选择“2-作为顶层表单”,双击“LoadEvent”,
在“Form1.Load”编辑窗口中输入“domymenu.mpr”,双击“InitEvent”,
在“myform.Init”编辑窗口中输入“domymenu.mprwiththis,'xxx'”,启动菜单命令,双击“DestroyEvent,
在“myform.Destroy”编辑窗口中输入“releasemenuxxxextended”,在表单退出时释放菜单。
二套1、
(1)SELECT*FROMstudentWHERE性别="男"ORDERBY学号INTOTABLEresults
(2)DOFORMstudent
(3)ALTERTABLEstudentADDCOLUMN年龄N
(2)
2、在文件sprog.prg中存放下面两条SQL语句:
UPDATEstudentSET年龄=year(date())-year(出生日期)
SELECTStudent.政治面目,COUNT(*)AS人数,AVG(年龄)AS平均年龄FROMstudentGROUPBY
Student.政治面目INTOTABLEsqlresults
3、在文件progzh.prg存放内容如下:
select1
usejieguo
select2
usegnht
sumjhsltoasum&&计算订货总数
indexondhdwtoaaauniq
counttoadhdw&&计算订货单位数
indexonghdwtobbbuniq
counttoaghdw&&计算供货单位数
use
select1
replacenumwithadhdw&&把订货单位数存放第1条记录中
skip
replacenumwithaghdw&&把供货单位数存放第2条记录中
skip
replacenumwithasum&&把订货总数存入第3条记录中
list&&显示结果
三套、2、、一、建立菜单
1.单击“文件\新建”命令项。
2.在“新建”对话框中选择“菜单”单选钮,再按“新建文件”按钮。
3.在“新建菜单”对话框中选择“菜单”按钮,在菜单设计器中的“菜单名称”中依次输入“文件”、
“编辑”和“退出”这三个主菜单项。
4.在“退出”主菜单的“结果”选择“过程”并输入下列语句:
myform.release
setsysmenutodefault
5.单击“显示/常规选项”,在“常规选项”对话框中选中“顶层表单”。
6.单击工具栏上“保存”按钮,在弹出“保存”对话框中输入“mymenu”即可。
7.在“菜单设计器”窗口下,单击“菜单”菜单栏,选择“生成”菜单项,生成“mymenu.mpr”文件。
二、建立表单
输入建立表单命令
CREATEFORMmyform
.“表单设计器”中,在“属性”的ShowWindow处选择“2-作为顶层表单”,在Name处输入“myform”,
在Caption处输入“顶层表单”。
在“属性”中,双击“InitEvent”,在“myform.Init”编辑窗口中输入“domymenu.mprwiththis,'xxx'”,
启动菜单命令。
在“属性”中,双击“DestroyEvent,在“myform.Destroy”编辑窗口中输入“releasemenuxxxextended”,
在表单退出时释放菜单。
3、、.在“表单设计器”中,选定List1控件,双击“属性”的ClickEvent事件,在“List1.Click”编辑窗口中,
输入下列语句:
aa=课程.课程名
SELECTCOUNT(*)AS人数FROM考试成绩WHERE考试成绩.课程编号=课程.课程编号INTOTABLE&aa
.在“表单设计器”中,添加一个命令按钮,双击“Command1”命令按钮,
在“Command1.Click”编辑窗口中输入“ReleaseThisform”,关闭窗口。
四套、2SELECTTOP5姓名,出生日期FROMemployeeORDERBY出生日期INTOTABLEemage
3..双击“计算”按钮,在“Command1.Click”编辑窗口中输入下列程序
docase
casethisForm.optiongroup1.value=1
thisForm.Text3.Value=val(thisForm.Text1.Value)+val(thisForm.Text2.Value)
casethisForm.optiongroup1.value=2
thisForm.Text3.Value=val(thisForm.Text1.Value)-val(thisForm.Text2.Value)
casethisForm.optiongroup1.value=3
thisForm.Text3.Value=val(thisForm.Text1.Value)*val(thisForm.Text2.Value)
casethisForm.optiongroup1.value=4
thisForm.Text3.Value=val(thisForm.Text1.Value)al(thisForm.Text2.Value)
endcase
.双击“关闭”命令按钮,在“Command2.Click”编辑窗口中输入“ThisForm.Release”,接着关闭编辑窗口
五套。
2SELECTTOP3Orders.职工号,Employee.姓名,COUNT(*)AS订单数;
FROMemployeeINNERJOINorders;
ONEmployee.职工号=Orders.职工号;
GROUPBYOrders.职工号;
ORDERBY订单数DESC;
INTOTABLEnewcoun.dbf
3二、建立菜单
单击“文件\新建”命令项。
在“新建”对话框中选择“菜单”单选钮,再按“新建文件”按钮。
在“新建菜单”对话框中选择“菜单”按钮,在菜单设计器中的“菜单名称”中依次输入“商品分类”和“退出”
这两个主菜单项,然后选择“商品分类”菜单项,在“结果”中选择“子菜单”,单击“创建”按钮,
在“菜单设计器”中,
输入两个子菜单项“小家电”、“饮料”和“酒类”。
在“小家电”子菜单的“结果”选择“过程”并输入命令下列语句
myform.grid1.recordsource="select*fromproductswhere分类编码='4001'intocursorlsb"
在“饮料”子菜单的“结果”选择“过程”并输入命令下列语句
myform.grid1.recordsource="select*fromproductswhere分类编码='1001'intocursorlsb"
在“酒类”子菜单的“结果”选择“过程”并输入命令下列语句
myform.grid1.recordsource="select*fromproductswhere分类编码='3001'intocursorlsb"
在“退出”主菜单的“结果”选择“过程”并输入下列命令myform.release
setsysmenutodefault
六套2
(1)SELECT姓名,年龄,电话FROMcustomerWHERELEFT(电话,1)='6'AND性别="女"ORDERBY年龄
INTOTABLEtemp_cus
(2)在pview.prg文件中内容
CReATESQLVIEWsb_viewASSELECTCustomer.会员号,;
Customer.姓名,Article.商品名,Orderitem.单价,;
Orderitem.数量,Orderitem.单价*Orderitem.数量金额;
FROMecommerce!
articleINNERJOINecommerce!
orderitem;
INNERJOINecommerce!
customer;
ONCustomer.会员号=Orderitem.会员号;
ONArticle.商品号=Orderitem.商品号;
ORDERBYCustomer.会员号
3(1.)打开数据库
OPENDATABASEEcommerce
(2.)在命令窗口中输入建立表单命令
CREATEFORMmyform
(3.)建立报表
1).单击“工具\向导\报表”菜单项,并显示“向导选取”对话框。
2).在“向导选取”对话框中,选择“报表向导”并单击“确定”按钮,并显示“报表向导”对话框。
3).在“报表向导”对话框的“步骤1-字段选取”中,首先要选取表“Customer”,在“数据库和表”列表框中,
选择表“Customer”,接着在“可用字段”列表框中显示表Customer的所有字段名,
并选定所有字段名至“选定字段”列表框中,单击“完成”按钮。
4).在“报表向导”对话框的“步骤6-完成”中,在“报表标题”文本框中输入“客户信息”,单击“完成”。
(4.)在“表单设计器”中,在“属性”的Caption处输入“客户基本信息”,在Name处输入“myform”。
(5.)在“表单设计器”中,添加四个命令按钮,在第1个命令按钮“属性”窗口的Caption处输入“女客户信息”,
在第2个命令按钮“属性”窗口的Caption处输入“客户购买商品情况”,在第3个命令按钮“属性”窗口的Caption处输入
“输出客户信息”,在第4个命令按钮“属性”窗口的Caption处输入“退出”。
(6.)双击“女客户信息”按钮,在“Command1.Click”编辑窗口中“select*fromcustomerwhere性别="女"”
(7.)双击“客户购买商品情况”按钮,在“Command2.Click”编辑窗口中“SELECT*FROMsb_view”
(8.)双击“输出客户信息”按钮,在“Command3.Click”编辑窗口中“REPORTFORMmyreportPREVIEW”
(9.)双击“退出”命令按钮,在“Command4.Click”编辑窗口中输入“ThisForm.Release”,接着关闭编辑窗口。
七套。
2(4)在“查询向导”对话框的“步骤2-为表建立关系”中,单击“添加”按钮,建立“STUDENT.学号=SC.学号”关系,
接着选择字段“SC.课程号”和“COURSE.课程号”,再单击“添加”按钮,建立“SC.课程号=COURSE.课程号”关系,
单击“下一步”按钮。
3(1.)建立表单
CREATEFORMform
(2.)在“表单设计器”中,添加两个命令按钮,在第1个命令按钮“属性”窗口的Caption处输入“查询”,
在第2个命令按钮“属性”窗口的Caption处输入“退出”。
3.)在“表单设计器”中,双击“Command1”命令按钮,在“Command1.Click”中输入SQL的SELECT语句,关闭窗口。
SELECTStudent.学号,Student.姓名,AVG(成绩)AS平均成绩,;
MIN(成绩)AS最低分;
FROMsdb!
studentINNERJOINsdb!
sc;
ONStudent.学号=Sc.学号;
GROUPBYStudent.学号HAVINGMIN(成绩)>=60;
ORDERBYStudent.学号;
INTOTABLEfour.dbf
4.)在“表单设计器”中,双击“Command2”命令按钮,在“Command2.Click”中输入“ReleaseThisform”,关闭窗口。
八套。
1在“学生表”子菜单的“结果”选择“过程”并输入命令下列语句
SELECT*FROMSTUDENT
.在“选课表”子菜单的“结果”选择“过程”并输入命令下列语句
SELECT*FROMSC
在“课程表”子菜单的“结果”选择“过程”并输入命令下列语句
SELECT*FROMCOURSE
在“退出”主菜单的“结果”选择“过程”并输入下列命令setsysmenutodefault
3、在“表单设计器”中,双击“Command1”命令按钮,在“Command1.Click”中输入SQL的SELECT命令查询语句,关闭窗口。
SELECTStudent.学号,姓名,AVG(成绩)AS平均成绩,;
COUNT(*)AS选课门数FROMStudent,ScGROUPBYSc.学号;
HAVINGCOUNT(*)>=4AND平均成绩>=75WHEREStudent.学号=Sc.学号ORDERBY;
平均成绩DESCINTODBFTWO
九套。
1、
(1)命令方式:
ALTERTABLEcusADDCOLUMN手机号C(11)
ALTERTABLECBCALTER数量SETCHECK数量>=1
ALTERTABLECBCALTERCOLUMN数量SETDEFAULT1
ALTERTABLECBCALTER单价SETCHECK单价>=1
ALTERTABLECBCALTERCOLUMN单价SETDEFAULT1
2(3)SELECT会员号,会员名,单位FROMCUSINTOTABLENCU
十套、1、
(1)ALTERTABLEksbADDCOLUMN备注C(30)
(2)ALTERTABLEkscjbALTER成绩SETCHECK成绩>=0AND成绩<=150
ALTERTABLEkscjbALTERCOLUMN成绩SETDEFAULT0
3(1.)建立表CREATEFORMform
2.)在“表单设计器”中,在“属性”的Caption处输入“录取研究生”。
3.)在“表单设计器”中,添加两个命令按钮,在第1个命令按钮“属性”窗口的Caption处输入“统计”,
在第2个命令按钮“属性”窗口的Caption处输入“退出”。
4.)在“表单设计器”中,双击“Command1”命令按钮,在“Command1.Click”中输入,接着关闭编辑窗口。
closeall
CREATETABLEtest(考生号C(4),政治成绩N(5,1),外语成绩N(5,1),高数成绩N(5,1),
专业课成绩N(5,1),总成绩N(5,1))
use
select2
usetest
select1
usekscjb
dowhile.not.eof()
selecttest
locatefor考生号=kscjb->考生号
ifnotfound()then
appendblank
replace考生号withkscjb->考生号
endif
docase
casekscjb->考试科目="101"
replace政治成绩withkscjb->成绩
casekscjb->考试科目="102"
replace外语成绩withkscjb->成绩
casekscjb->考试科目="103"
replace高数成绩withkscjb->成绩
casekscjb->考试科目="104"
replace专业课成绩withkscjb->成绩
endcase
selectkscjb
skip
enddo
closeall
updatetestset总成绩=政治成绩+外语成绩+高数成绩+专业课成绩
SELECTKsb.考生号,Ksb.姓名,Ksb.性别,Ksb.单位,Test.政治成绩,;
Test.外语成绩,Test.高数成绩,Test.专业课成绩,Test.总成绩;
FROMsdb!
ksbINNERJOINtest;
ONKsb.考生号=Test.考生号;
WHERETest.总成绩>=330;
ORDERBYTest.总成绩DESCINTOTABLEfour
5.)在“表单设计器”中,双击“Command2”命令按钮,在“Command2.Click”编辑窗口中输入“ReleaseThisform”,
接着关闭编辑窗口。
十一套、31.建立表单
CREATEFORMthree
2.在“表单设计器”中,在“属性”的Caption处输入“学生基本信息浏览”,在Name处输入“form”。
3.在“表单设计器”中,添加一个标签Label1,在其“属性”的Caption处输入“班级号”。
4.在“表单设计器”中,单击鼠标右键,在弹出菜单中选择“数据环境”,在“数据环境设计器-three.scx”中,
在“打开”对话框中,选择“student.dbf”表,
接着在“添加表或视图”的对话框中,双击表“class”,再按“关闭”按钮,关闭“添加表或视图”对话框。
5.在“表单设计器”中,添加一个组合框控件Combo1,在其“属性”的Caption处输入“班级号”,
在Style处选择“2-下拉列表框”,在RowSourceType处选择“6-字段”,在RowSource处选择“Class.班级号”。
6.在“表单设计器”中,添加一个表格控件Grid1,在其“属性”的RecordSourceType处选择“4-SQL说明”。
7.在“表单设计器”中,添加两个命令按钮,在第1个命令按钮“属性”的Caption处输入“退出”,
在第2个命令按钮“属性”的Caption处输入“确认”。
8.在“表单设计器”中,双击“Command1”命令按钮,在“Command1.Click”中输入“ReleaseThisform”,关窗口。
9.在“表单设计器”中,双击“Command2”命令按钮,在“Command2.Click”编辑窗口中输入下述语句,关窗口。
ThisForm.Grid1.RecordSource="SELECT*FROMstudentWHERE班级号=class.班级号INTOCURSORLSB"
十三套、1
(1)ALTERTABLEp_tADDCOLUMN继承人C(8)
(2)ALTERTABLEfr_tALTER面积SETCHECK面积>=1.AND.面积<=100
ALTERTABLEfr_tALTERCOLUMN面积SETDEFAULT10
ALTERTABLEfr_tALTER蓄积SETCHECK蓄积>=0.AND.蓄积<=200
ALTERTABLEfr_tALTERCOLUMN蓄积SETDEFAULT100
(3)在“表单设计器”中,双击“Command1”命令按钮,在“Command1.Click”编辑窗口中输入下列语句,关闭窗口。
select姓名,年龄,性别,家庭地址fromp_twhere户主编号=alltrim(ThisForm.Text1.Value)intoarraytmp
ThisForm.Text2.Value=tmp
(1)
ThisForm.Text3.Value=tmp
(2)
ThisForm.Text4.Value=tmp(3)
ThisForm.Text5.Value=tmp(4)
ThisForm.Grid1.RecordSource="SELECT土地编号,小地名,面积,树种编号,蓄积,承包年度FROMfr_tWHERE
户主编号='"+alltrim(ThisForm.Text1.Value)+"'INTOCURSORLSB"
十四套、1ALTERTABLEs_tALTER年度SETDEFAULT"2004"
3在“表单设计器”中,双击“Command2”命令按钮,在“Command2.Click”中输入“ReleaseThisform”,关闭窗口。
.在“表单设计器”中,添加一个表格Grid1,在其“属性”的RecordSourceTyp