中国海洋大学2013年vfp上机练习题参考答案.doc_第1页
中国海洋大学2013年vfp上机练习题参考答案.doc_第2页
中国海洋大学2013年vfp上机练习题参考答案.doc_第3页
中国海洋大学2013年vfp上机练习题参考答案.doc_第4页
中国海洋大学2013年vfp上机练习题参考答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 在项目管理器中新建商品数据表SB.DBF,字段有:商品号(C,5),商品名(C,8),单价(N,5,2),出厂单价(N,5,2),产地(C,6)。并添加如下记录:单价要求在300900之间。商品号(C,5),商品名(C,8),单价(N,6,2),出厂单价(N,6,2),产地(C,6)。10001 电视机 800.0 500.0 青岛20001 电子字典 360.0 200.0 深圳10002 手机8210 980.0 600.0 北京30001 MP3 800.0 560.0 广州10003 商务通 890.0 460.0 深圳设计一个名称为MY_FORM的表单,上面有“浏览”、“调整”、“备份”和“退出”四个命令按钮,“商品名称”标签和文本框text1。1) 在text1中输入文本,单击“浏览”按钮时,显示商品名含有该文本的所有商品记录。a=allt(thisform.text1.value)aa=sele * from sb where 商品名 like %&a% into cursor xthisform.grid1.recordsource=aathisform.grid1.refresh2) 单击“调整”按钮时,将“商品号”前两位编号为“10”的商品的“单价”修改为出厂单价的110%。update sb set 单价=出厂单价*1.1 where left(商品号,2)=10bb=sele * from sb into cursor ythisform.grid1.recordsource=bb3) 单击“备份”按钮时,将“商品表”进行备份(使用命令COPY TO ),备份文件名为“商品表备份.DBF”,copy to 商品表备份4) 单击“退出”按钮时,关闭表单。2 在建立“D:学号姓名”文件夹下,建立表单(bd2.scx),添加标签“输入字符串”、文本框,添加“输出”、“退出”命令按钮,并编写代码。“输出”Click代码:把文本框内输入的字符串,去掉左、右、中间所有空格字符后,在信息框显示。“退出”:结束表单运行。a=thisform.text1.valuen=len(a) i=1 s=for i=1 to nif substr(a,i,1)space(1)s=s+substr(a,i,1)endifendformessagebox(s,0)3 建立“学生管理” 数据库,在其中新建“成绩”数据表并任意输入3条记录,结构如下:学号C(8),姓名C(8),计算机N(5.1),英语N(5.1),数学N(5.1),总成绩N(5.1)。建立表单(bd1.scx),用表格显示该数据表,添加标签“计算机平均成绩”及显示该数据的文本框。添加“计算”、“退出”命令按钮,并编写代码。“计算”Click代码:计算“总成绩”字段的值(总成绩计算机+英语+数学),计算“计算机平均成绩”的值并在文本框显示。“退出”:结束表单运行。update 成绩 set 总成绩=计算机+英语+数学aa=sele * from 成绩 into cursor ythisform.grid1.recordsource=aasele avg(计算机) as A from 成绩 into cursorxthisform.text1.value=A4 建“订货管理”数据库。在其中新建数据表customer,表结构如下:客户号(C/8)、客户名(C/10)、地址(C/20)、电话(C/12)。以客户号建立主索引。新建数据表order_list,表结构如下:客户号(C/8)、订单号(C/10)、日期(D)、总金额(N/12,2)。以客户号建立普通索引,并与customer建立表间永久关系。1)两个数据表各添加3条记录(保证两个表的客户号存在一对一关系)。2)新建项目“订单”并将数据库添加到该项目中。3)在项目中新建表单如下:完成“上一条”和“下一条”命令按钮的代码。skip-1thisform.refreshif bof()mand1.enabled=.mand2.enabled=.t.Endif skipthisform.refreshif eof()mand2.enabled=.mand1.enabled=.t.endif5 在项目管理器中创建一个student.dbf数据表 其结构为学号(C,3),姓名(C,6),性别(C,2),出生日期(D,8)。记录内容自定(出生日期应在1995年以前出生)。要求,根据输入限制条件的上限和下限来查找数据表中的记录,表单会显示查找到的结果。程序的演示效果如图所示。a=thisform.text1.valueb=thisform.text2.valueaa=sele * from student where 学号 between a and b into cursor ythisform.grid1.recordsource=aa6 建立一表单文件BF.SCX. 如图 要求:(1)在“建表”按钮中编写代码,使用SQL语句建立一XSDA.DBF表,字段结构:学号 C(6); 姓名 C(10) ; 成绩N(5,1) 再用SQL命令方式添加三条记录,如下: 学号 姓名 成绩100101 德华 89 100202 学友 40100103 曼玉 78(2)在”排序按钮”中编写SQL代码,完成按成绩降序查询,结果显示在表格控件中。(3)在”分组按钮”中编写SQL代码,完成按班级(学号前四位表示班级)分组,并显示班级总成绩。结果显示在相应的控件中。(4)在“欠分按钮”中检索将成绩加5%后,仍然小于60分的同学。(5)在”输出按钮”中编写SQL代码,完成将成绩在8089之间的同学信息输出到表xsda1.dbf中。n=this.valuedo case case n=1creat table xsda(学号 c(6),姓名 c(10),成绩 n(5,1)insert into xsda values (100101,德华,89)insert into xsda values (100202,学友,40)insert into xsda values (100103,曼玉,78)case n=2aa=sele * from xsda order by 成绩 desc into cursor ythisform.grid1.recordsource=aacase n=3bb=sele left(学号,4) as 班级,sum(成绩) as 班级总成绩 from xsda group by 班级 into cursor xthisform.grid1.recordsource=bbcase n=4update xsda set 成绩=成绩*1.05cc=sele * from xsda where 成绩=60,2,0)+iif(高数=60,3,0)+iif(英语=60,4,0) aa=sele * from SCOREP into cursor x thisform.grid1.recordsource=aa select * from SCOREP order by 学分,学号 desc into table XF8 有一学生管理数据库stu,该数据库中有CHENGJI表和XUESHENG表,各表结构如下:XUESHENG表(学号C(9)、姓名C(10)、出生日期D,性别C(2),平均分N(7,2),个学生只有一个记录,“学号”字段是表的主关键字。CHENGJI表(学号c(9)、课程号c(3)、课程名C(8),成绩N(7,2),该表用于记录学生的考试成绩, 一个学生可以有多项记录,(登记一个学生的多门成绩),其中,字段“学号”与“课程名”的组合构成表CHENGJI的主关键字。设计一个名为FORM_STU的表单、表单中有两个命令按钮,按钮的名称分别是CMDYES和CMDNO,标题分别为“统计”和“关闭”及其他相关控件。程序运行时,单击“统计”按钮应完成下列操作:1)根据CHENGJI表计算每个学生的平均分,并将结果存入XUESHENG表的平均分字段。2)根据上面的计算结果,生成一个新的表PINGJUN,该表的字段按顺序取自XUESHENG表的学号、姓名和平均分3项,并按平均分升序排序,如果平均分相等,则按学号升序排序。3)按照出生日期统计每月份各有多少名学生,男女生各有多少名。4)查询每门课的选课人数、优秀人数和不及格人数。 单击“关闭”按扭,程序终止运行。sele avg(成绩) from chengji group by 学号 into array a(任青(运行不出来)update xuesheng set 平均分=aselect * from xueshengSelect 学号,姓名,平均分 from xuesheng into dbf pingjun order by 平均分,学号 sele month(出生日期) as 月份,性别,count(*) from xuesheng group by 月份,性别select 课程名,count(*)as 每门人数 from chengji group by 课程号select 课程名,count(*)as 每门优秀人数 from chengji group by 课程号 where 成绩80select 课程名,count(*)as 每门不及格人数 from chengji group by 课程号 where 成绩609 设计一个能进行查询的表单,界面如图所示。当输入学生姓名并单击“查询统计”按钮时,会在右边的表格内显示该同学所选各科的成绩,并在左边相应的文本框内显示其中的最高分、最低分以及平均成绩。单击“退出”按钮将关闭表单。(运行不出来)thisform.grid1.recordsource=sele 课程号,成绩 from dijiti where 姓名=thisform.text1.value into cursor xa=allt(thisform.text1.value)sele max(成绩) as A from dijiti where 姓名=a into cursor xthisform.text2.value=Asele mIN(成绩) AS B from dijiti where 姓名=a into cursor ythisform.text3.value=Bsele AVG(成绩) AS C from dijiti where 姓名=a into cursor zthisform.text4.value=C10 有“学生管理”数据库。在其中新建数据表student,表结构如下:学号(C/8)、姓名(C/10)、专业号(C/4)、成绩(N/4)。以学号建立主索引,以专业号建立普通索引。建数据表class,表结构如下:专业号(C/4)、专业名称(C/10),以专业号建立主索引,并与student建立表间永久关系。1) 两个数据表各添加3条记录(要有”英语”专业的记录)。2) 新建项目“管理”并将数据库添加到该项目中。3) 在项目中新建表单FORM1。选择选项按钮后“运行”可以完成相应的操作。结果显示在相应的控件中。n=this.valuedo case case n=1aa=sele 姓名,专业 from 学生class join 学生student on 学生student.专业号=学生class.专业号thisform.grid1.recordsource=aacase n=2y=select 专业名称 ,count(学号) as 人数 from 学生student join 学生class on 学生student.专业号=学生class.专业号 group by 学生student.专业号 into cursor zthisform.grid1.recordsource=ycase n=3update 学生student set 成绩=成绩*1.05 where 专业号 in (sele 专业号 from 学生class where 专业名称 =英语)cc=sele 学号,姓名,专业号,成绩 from 学生student into cursor wthisform.grid1.recordsource=cccase n=4thisform.releaseendcaseDo case(任青)case thisform.optiongroup1.value=1Select 姓名,专业名称 from student join class1 on student.专业号=class1.专业号 into cursor athisform.grid1.recordsource=aCase thisform.optiongroup1.value=2select 专业名称,count(*) as 学生数 from student join class on student.专业号=class.专业号 group by 专业名称case thisform.optiongroup1.value=3update student set 成绩=成绩*1.05 where 专业号 in (select 专业号 from class where 专业名称=英语)select * from studentcase thisform.optiongroup1.value=4thisform.releaseendcase12 设计如上图表单,要求对于学生管理数据库std.dbc用SQL语句完成如下功能:(1) 点击学生名单显示学号,姓名(若选中复选框显示详细信息,则显示学号, 姓名,性别,出生日期,入学日期,专业)。(运行不出来)n=thisform.check1.valuedo casecase n=0aa=select 姓名,学号 from std_da into cursor xthisform.grid1.recordso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论