VFP数据库与程序设计作业及实验报告

VFP数据库与程序设计

作业与实验报告

学号:              

姓名:             

专业:              

教师:             

20##年3月


前言

本册是《Visual FoxPro 6.0数据库与程序设计》的配套作业与上机练习,全册共分9章。

编者

                                          20##年3月


一 VFP基础知识

·作业部分·

1.下列正确的字符型常数是:       

A."ABCD"1234     B."ABCD'1234"   C."ABCD123"EFG  D."ABCD'123"EFG

2.使用命令dime mm(2,3)定义的数组,包含的数组元素的个数为:       

   A.2个            B.3个           C.5个           D.6个

3.可以链接或嵌入OLE对象的字段类型是:       

   A.通用型         B.备注型        C.字符型        D.任何类型

4.Visual FoxPro 数据库管理系统支持的数据模型是:       

   A.网状型         B.共享型        C.层次型        D.关系型

5.关于空字符串的正确说法是:       

   A.定界符内只包含一个空格         B.定界符内只包含有空格

   C.空字符串的长度为0              D.空字符串的长度取决于定界符内空格的个数

6.数据库管理系统的英文缩写是:       

   A.DSS            B.DBS           C.DBMS          D.DBA

7.数据库系统的核心是:       

   A.编译系统       B.操作系统      C.数据库        D.数据库管理系统

8.通用字段G和备注字段M在表中的宽度都是:       

   A.2个字节        B.4个字节       C.8个字节       D.10个字节

9.在下面的Visual FoxPro表达式中,不正确的是:       

   A.{^20##-03-01 10:10:10 AM}-10   B.{^20##-03-01}-date( )

   C.{^20##-03-01}+date( )          D.{^20##-03-01}+1000

10.下列字符串是非法的变量名的有:       

   A.GYBF2          B.4KU           C.A_BG          D.姓名

11.设A="123",B="234",表达式值为假(.F.)的是:       

   A..not.(A==B).or.(B$"ABC")       B..not.(A$"ABC").and.(A<>B)

   C..not.(A<>B)                    D..not.(A>=B)

12.结果为真(.T.)的表达式是:       

A."bei"$"beijing"                B."bei"$"before"

C."bei"$"i"                      D."beijing"$"bei"

13.表达式 ?MOD(14,int(PI()))的值是:       

   A.4              B.3             C.2             D.1

14.E=AT("ABCD","ABEFCD") 变量 E 的值是:       

   A.3              B.2             C.1             D.0

15.表达式 ?LEN(LEFT("沈阳农业大学",4))的值是:       

   A.沈阳           B.2             C.4             D.农业

16.执行命令DIMENSION M(4,2)之后,数组各元素的初值是:       

   A.0              B..F.           C..T.           D.空值

17.表达式 ?IIF(5>3,1,0)的值是:       

A.1              B.0             C.5             D.3

18.E=SPACE(5)-SPACE(5) 变量 E 的值空格个数是:       

   A.10             B.5             C.0             D.1

19.表达式: ?"dc"$"abcdef" 的值是:       

   A..T.            B..F.           C.dc            D.abcdef

·实验部分·

实验题目:VFP基础知识

实验目的:通过本次实验,让学生了解VFP环境,掌握基本VFP函数。

实验内容:在命令窗口中输入下列命令,并给出运行结果。

1.?int(16.9)                                         

2.?round(27.6492,2)                                  

3.?sqrt(49)                                          

4.?mod(18,4)                                        

5.?len("沈阳农业大学")                               

6.?"ad"+space(3)+ "df"                               

7.?lower("Wang")                                     

8.?upper("abcDef")                                   

9.?substr("沈阳农业大学",3,4)                      

10.?left("王小力",4)                                

11.?at("is","this")                                 

12.?year(date( ))                                    

13.?asc("c")                                         

14.?chr(66)                                          

15.?val("12")+val("23")                              

16.?str(23,2)+str(56,2)                              

评阅时间:


二 VFP数据表操作

·作业部分·

1.在VFP中,记录是由字段值构成,但数据长度比个字段宽度之和多一个字节,这个字节是用来存放:       

A.记录分隔标记    B.记录序号          C.记录指针定位标志  D.删除标记

2.修改表结构的命令是:       

A.modi stru       B.modify command    C.list structure    D.disp stru

3.在当前记录前插入一条记录的正确命令是:       

A.inse            B.insert before     C.append            D.append before

4.显示第3条记录的命令是:       

A.list for recno( )   B.disp 3            C.list for 3        D.disp reco 3

5.删除当前记录的正确命令是:       

A.dele            B.delete for record C.delete next       D.delete rest  

6.向表中追加一条空记录的命令:       

A.append blank    B.append            C.insert blank      D.insert

7.将rcda表中非党员男性记录的工资加100元替换的正确命令是:       

A.repl 工资现状 with 工资现状+100 for 党员否=F and 性别="男"

B.repl 工资现状 with 工资现状+100 for not 党员否 and 性别="男"

C.repl 工资现状 with 工资现状+100 for 党员否=F or 性别="男"

D.repl 工资现状 with 工资现状+100 for not 党员否 or 性别="男"

8.将xscj表中的男生的性别改为字母"M",成绩改为80分的正确命令是:       

A.repl 性别 with "M",成绩 with 80 for 性别="男"

B.repl 性别 with "M" 成绩 with 80 for 性别=男

C.repl 性别 with "M",成绩 with 80

D.repl 性别 with M,成绩 with 80 for 性别="男"

9.显示rcda表中1968年生人的记录命令是:       

A.list for year(出生日期)=1968        B.list for year(出生日期)=68

C.list for day(出生日期)=1968         D.list for day(出生日期)=1968

10.显示rcda表中所有编号前两个字符为"bj"记录的命令是:       

A.disp for substr(编号,2,2)="bj"    B.disp for left(编号,2)="bj"

C.list for 编号=bj                    D.list for right(编号,2)="bj"

11.删除名字内有"宁"字的记录的正确命令是:       

A.delete for 姓名="宁"                B.dele for substr(姓名,3,2)="宁"

C.dele for "宁"$姓名                  D.delete for 姓名$"宁"

12.清除主窗口屏幕的命令是:       

A.CLEAR          B.CLEAR ALL         C.CLEAR  SCREEN     D.CLEAR  WINDOWS

·实验部分·

实验题目:数据表的建立及数据表操作

实验目的:通过本次实验,让学生掌握VFP数据表的建立,掌握创建项目、在项目中创建数据库、自由表和数据库表的相互转换、数据表的基本操作与维护功能。

实验内容及实验步骤:

1.建立名为xsda.dbf的数据表:

表1 — 结构定义

表2 — 数据表内容

步骤:单击菜单栏的【文件】-【新建】-【表】-【新建文件】命令,在弹出的“创建”对话框中输入表名          ,单击【保存】按钮,在弹出的“表设计器”对话框中按照表1定义表结构,单击【确定】按钮,在弹出的“现在输入数据记录吗?”对话框中选择【是】,按照表2输入数据表内容后关闭该表窗口。

2.修改数据:将第三条记录姓名字段值“刘虹”改为“刘红”。

步骤:单击菜单栏的【显示】-          命令,浏览数据表,修改姓名字段。

3.输入白静的简历为:20##年被评为校优秀干部。

步骤:          (单击/双击)白静的简历字段,在弹出的“xsda.简历”对话框中输入“20##年被评为校优秀干部”后关闭该窗口。

4.为白静的照片字段插入任意一张的图片。

步骤:双击白静的照片字段,单击菜单栏的【编辑】-          命令,在弹出的“插入对象”对话框中单击            单选按钮,浏览选取任意一张图片,单击【确定】按钮后关闭该窗口。

5. 追加一条新记录:输入任意的信息。

步骤:单击菜单栏的【表】-          命令,追加一条新记录,输入任意信息。

6.将bf.dbf表中简历和照片字段删除。

步骤:单击菜单栏的【文件】-【打开】命令,在弹出的“打开”对话框中选择文件类型为          ,选择数据表bf.dbf,选中          复选框,单击【确定】按钮。单击菜单栏的【显示】-          命令,打开“表设计器”,单击“简历”字段后单击【删除】按钮,同理删除“照片”字段,单击【确定】按钮,在弹出的“结构更改为否永久性更改?”对话框中选择          按钮。

7.创建一个名为xsgl.pjx的项目。

步骤:单击菜单栏的【文件】-【新建】-【项目】-【新建文件】命令,在弹出的“创建”对话框中,输入项目名          ,单击【保存】按钮。

8.在项目中创建名为aa.dbf的数据表。

步骤:单击项目中的【数据】-【自由表】-【新建】-【新建表】,在弹出的“创建”对话框中,输入表名          ,单击【保存】按钮,任意输入字段定义一个数据表。

9.将aa.dbf表从项目中移除。

步骤:在项目管理器中单击数据表aa.dbf,单击右侧的          按钮,在弹出的“从项目中移去表还是从磁盘中删除表?”提示对话框中单击          按钮。

10.筛选出djks.dbf表姓刘的记录。

步骤:打开并浏览表djks.dbf,单击菜单栏的【表】-           命令,在弹出的“工作区属性”对话框的“数据过滤器”中输入条件                              

11.取消记录筛选设置。

步骤:单击菜单栏的【表】-           命令,在弹出的“工作区属性”对话框中,擦除数据过滤器中条件。

12.筛选出考号、姓名、结论三个字段的数据。

步骤:单击菜单栏的【表】-           命令,在弹出的“工作区属性”对话框中,在“允许访问”中选择                    单选按钮,单击【字段筛选】按钮,在弹出的“字段选择”对话框中,双击考号、姓名、结论三个字段后单击【确定】按钮,关闭该表窗口后单击菜单栏的【表】-【浏览表】命令重新浏览该表。

13.取消字段筛选设置。

步骤:步骤:单击菜单栏的【表】-           命令,在弹出的“工作区属性”对话框中,在“允许访问”中选择                    单选按钮。

14. 用命令显示djks.dbf表中第78号记录内容。

命令:                                                                        

15. 用命令显示30至50之间的记录。

命令:                                                                        

16. 用命令显示82至最后记录的内容。

命令:                                                                        

17. 用locate命令查找djks.dbf表中结论是补考的记录。

命令:                                                                        

18.继续显示。

命令:                                                                        

19.将rcda.dbf表中女同志工资增加100元(用菜单和命令两种方法)。

步骤:打开并浏览表rcda.dbf,单击菜单栏的【表】-          命令,在弹出的“替换字段”对话框中,设置“字段”          ,“替换为”                    ,作用范围          ,for                    ,单击【替换】按钮。

命令:                                                                        

20.逻辑删除teacher.dbf表中男同志的记录(用菜单和命令两种方法)。

步骤:打开并浏览表teacher.dbf,单击菜单栏的【表】-          命令,在弹出的“删除”对话框中,设置作用范围          ,for                    ,单击【删除】按钮。

命令:                                                                        

21.恢复teacher表中男同志的记录(用菜单和命令两种方法)。

步骤:单击菜单栏的【表】-          命令,在弹出的“恢复记录”对话框中,设置作用范围          ,for                    ,单击【恢复记录】按钮。

命令:                                                                        

22.其它带有删除标记的记录彻底删除(用菜单和命令两种方法)。

步骤:单击菜单栏的【表】-          命令,在弹出的提示对话框中单击【是】按钮。

命令:                                                                        

评阅时间:

三 VFP数据库操作

·作业部分·

1.复制表结构命令是:       

A.copy to xs   B.copy file xs to   C.copy stru to xs D.copy to stru

2.在VFP中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值,应选择:       

A.限制         B.忽略              C.级联                D.级联或限制

3.按出生月份进行索引的正确命令是:       

   A.index on year(出生日期) to csrq    B.index on left(dtoc(出生日期),2) to csrq

C.index on 出生日期 to csrq        D.index on month(出生日期) to csrq

4.下列哪个统计记录个数的命令是正确的:       

 A.count()                          B.count on 学号 to ss      

C.reccount to ss                   D.count to ss

5.不允许记录中出现重复索引值的索引是:       

A.主索引                           B.主索引、候选索引和普通索引

C.主索引、候选索引                 D.主索引、候选索引和唯一索引

6.在VFP中打开数据库的命令是:       

A.open data 数据库名  B.use 数据库名  C.use data 数据库名 D.open 数据库名

7.可以对字段设置默认值的表是:

 A.是数据库的表                       B.是自由表

 C.自由表或数据库表                   D.视图

8.要控制两个表中数据完整性和一致性可以设置“参照完整性”,要求两个表:

 A.是同一个数据库中的表             B.不同数据库中的两个表

   C.两个自由表                       D.一个是数据库中的表,另一个是自由表

9.Visual Foxpro 参照完整性规则不包括:

A.更新规则       B.删除规则       C.查询规则          D.插入规则

·实验部分·

实验题目:数据表索引、数据统计及数据库操作

实验目的:通过本次实验,让学生掌握数据表的复制、数据表的排序与索引、数据表的统计功能,掌握设置表的字段属性、有效性规则、创建永久关系和设置参照完整性功能。

实验内容及实验步骤:

1.对学生.dbf表备份一个名为bf1.dbf的数据表。

步骤:打开并浏览表学生.dbf,单击菜单栏的【文件】-          命令,在弹出的“导出”对话框中,在导出到位置输入表名          ,单击【确定】按钮。

2.用命令通过djks.dbf表复制表结构生成zsff.dbf表,包含考号、姓名、结论字段。

命令:                                                                        

3.将djks.dbf表中结论为通过的记录追加到zsff.dbf中。

步骤:打开并浏览表zsff.dbf,单击菜单栏的【表】-          命令,在弹出的“追加来源”对话框中,单击“来源于”右侧文件浏览按钮,选取数据表djks.dbf并打开,单击          按钮,在弹出的“追加来源选项”对话框中,单击【For】按钮,在“表达式”中输入条件                              ,单击【确定】按钮。

4. 对rcda.dbf表按姓名建立普通索引。

步骤:打开表rcda.dbf,单击菜单栏的【显示】-          命令,单击          面板,设置索引名字为“姓名”,索引类型为          ,索引表达式为          ,单击【确定】按钮。

5.查看索引的结果。

步骤:单击菜单栏的【显示】-【浏览表】命令,浏览数据表,单击【表】-          命令,在弹出的“工作区属性”对话框中,选择“索引顺序”为          ,单击【确定】按钮。

6.用seek命令查找rcda.dbf表中有没有叫王小立的,有则用disp命令显示。

命令:                                                                        

7.用命令统计djks表中笔试及格的人数。

命令:                                                                        

8.用命令统计djks表中补考的人数。

命令:                                                                        

9.用命令求djks表中笔试的平均分。

命令:                                                                        

10.用命令求djks表中上机的总分。

命令:                                                                        

11.建立xsgl.dbc数据库,将xsda.dbf、xscj.dbf、txl.dbf、djks.dbf四个自由表添入数据库中。

步骤:单击菜单栏的【文件】-【新建】-【数据库】-【新建文件】,在弹出的“创建”对话框中,输入数据库名          ,单击【保存】按钮。单击菜单栏【数据库】(或在数据库中单击鼠标右键),选择          命令,在弹出的“打开”对话框中,浏览选取xsda.dbf数据表后单击【确定】按钮,同理添加数据表xscj.dbf、txl.dbf和djks.dbf。

12.将djks.dbf数据库表变为自由表。

步骤:右键单击djks.dbf表的标题栏,选择          命令,在弹出的“把表从数据库中移去还是从磁盘上删除?”提示对话框中点击          按钮,在弹出的“一旦表被移出数据库长表名和长字段名就不能用于索引或者程序。继续吗?”提示对话框中点击

          按钮。

13.为xsda.dbf表的学号字段设置字段的显示标题为:入学年份和登记顺序。

步骤:右键单击xsda.dbf表的标题栏,选择          命令,打开xsda.dbf表结构,单击“学号”字段,在“标题”中输入“入学年份和登记顺序”。

14.给txl.dbf表电话加注释为:住宅电话或手机号码。

步骤:打开并显示txl.dbf表结构,单击          字段,在“注释”中输入“住宅电话或手机号码”。

15.对xsda.dbf表性别字段设置有效性规则为:性别$"男女",提示信息为:"性别必须为男或女",性别字段设置默认值为"男"。

步骤:打开并显示xsda.dbf表结构,单击“性别”字段,设置字段有效性“规则”为

               “信息”为:                    ,“默认值”为          。           

16.为xsda.dbf表按学号字段建立主索引、为xscj.dbf表按学号字段建立普通索引、为txl.dbf表按学号字段建立普通索引,以xsda.dbf为父表,以xscj.dbf、txl.dbf为子表分别建立永久性联系。设置两个联系的更新规则为级联,删除规则为限制,插入规则为限制。

步骤:打开xsda.dbf表结构,单击“索引”面板,设置索引名字为“学号”,索引类型为          ,索引表达式为          ,单击【确定】按钮。同理为xscj.dbf表、txl.dbf

表建立索引。在xsda.dbf表的学号索引字段上                    到xscj.dbf表学号索引字段上,同理为xsda.dbf表及txl.dbf表建立永久性联系。单击菜单栏的【数据库】-          命令,          (双击/单击)表间关系,在弹出“编辑关系”对话框中,单击          按钮,按照题目要求设置参照完整性规则,单击【确定】按钮。

评阅时间:


四 视图与查询

·作业部分·

1.查询设计器和视图设计器的主要不同表现在于:       

A.查询设计器有"更新条件"选卡,没有"查询去向"

B.查询设计器有"更新条件"选卡,有"查询去向"

C.视图设计器有"更新条件"选卡,有"查询去向"

D.视图设计器有"更新条件"选卡,没有"查询去向"

2.查询设计器的“筛选”选项卡用来指定查询的:       

A.条件          B.字段          C.文件     D.数据项

3.查询文件的扩展名:         

A.prg          B.qpr         C.dbc          D.pjx

4.使用菜单操作方法打开一个在当前目录下已经存在的查询文件zz.qpr后,在命令窗口生成的命令是:       

A.open query zz.qpr          B.modify query zz.qpr

C.do query zz.qpr            D.create query zz.qpr

5.在VF中,          是一个定制的虚拟表。

A.视图        B.数据表        C.查询         D.报表

6.下面关于查询描述正确的是:       

A.可以使用CREATE VIEW打开查询设计器  。

B.使用查询设计器可以生成所有的SQL查询语句。

C.使用查询设计器生成的SQL语句存盘后将存放在扩展名为QPR的文件中。

D.使用DO语句执行查询时,可以不带扩展名。

·实验部分·

实验题目:查询和视图

实验目的:通过本次实验,让学生掌握创建查询以及视图的方法。

实验内容及实验步骤:

1.按如下要求创建查询:

1) 查询结果包括rcda.dbf表中的全部字段。

步骤:单击菜单栏的【文件】-【新建】-【查询】-【新建文件】命令,在弹出的“打开”对话框中选择数据表          ,单击【确定】按钮,在弹出的“添加表或视图”对话框中单击【关闭】按钮,选择“字段”面板的          按钮,将所有“可用字段”添加到“选定字段”中去。

2) 查询条件为:男党员。

步骤:选择“筛选”面板,在字段名下拉列表中选择“性别”字段,条件为“=”,实例设置为          ,逻辑设置为          ,在字段名下拉列表中选择“党员否”字段,条件为“=”,实例设置为          

3) 查询结果按姓名降序排序。

步骤:选择“排序依据”面板,在“选定字段”中双击          字段,将其添加到“排序条件”中去,并单击排序选项中          单选按钮。

4) 要求将查询结果保存到新表ndy.dbf中。

步骤:单击菜单栏的【查询】-【查询去向】命令,在弹出的“查询去向”对话框中,选择输出去向为          ,输入表名          ,单击【确定】按钮。

5) 点击“执行”按钮执行查询。

步骤:单击菜单栏的【查询】-          命令,或工具栏的          按钮,运行查询。

6) 查询文件的保存名字为my_cx1。

步骤:单击菜单栏的【文件】-          命令,在弹出的“另存为”对话框中输入文档名字为          ,单击【保存】按钮。

2.按如下要求在数据库中创建一个本地视图:

1) 视图的查询结果包括学生表中(不包括简历和照片)的全部字段。

步骤:单击菜单栏的【文件】-【新建】-【数据库】-【新建文件】命令,单击【保存】按钮,创建一个数据库,单击菜单栏的【文件】-【新建】-【视图】-【新建文件】命令,在弹出的“添加表或视图”对话框中,单击【其他】按钮,在弹出的“打开”对话框中选择表          ,单击【关闭】按钮,关闭“添加表或视图”对话框。在“字段”面板中双击选择                                        字段,将其添加到可用字段中。

2) 条件为:管理系男生。

步骤:选择“筛选”面板,在字段名下拉列表中选择“性别”字段,条件为“=”,实例设置为          ,逻辑设置为          ,在字段名下拉列表中选择“系别”字段,条件为“=”,实例设置为          

3) 视图查询结果按学号降序排序。

步骤:选择“排序依据”面板,在“选定字段”中双击          字段,将其添加到“排序条件”中去,并单击排序选项中          单选按钮。

4) 更新源数据表中的姓名字段。

步骤:单击“更新条件”面板,设置关键字段(带小钥匙的)为          ,设置可更新字段(带铅笔的)为          ,选择                    复选框。

5) 点击“执行”按钮执行查询,查验结果正确否。

步骤:单击菜单栏的【查询】-          命令,或工具栏的          按钮,运行查询。

6) 视图保存名字为:my_st1。

步骤:单击菜单栏的【文件】-          命令,在弹出的“另存为”对话框中输入文档名字为          ,单击【保存】按钮。

评阅时间:


五 结构化查询语言SQL

·作业部分·

1.在SQL查询时,使用where子句指出的是:       

A.查询目标        B.查询结果      C. 查询条件     D.查询视图

2.在SQL查询时,使用order by 子句指出的是:       

A.查询目标        B.排序依据      C.查询条件      D.查询视图

3.在SQL语句中,与表达式"工资 BETWEEN 1210 AND 1240"功能相同的表达式是:       

A.工资>=1210 AND 工资<=1240       B.工资>1210 AND 工资<1240
C.工资<=1210 AND 工资>1240        D.工资>=1210 OR 工资<=1240

4.在SQL语句中,与表达式"仓库号 NOT IN("wh1","wh2")"功能相同的表达式是:       
A.仓库号="wh1" AND 仓库号="wh2"   B.仓库号!="wh1" OR 仓库号# "wh2"

C.仓库号< >"wh1" OR 仓库号!="wh2" D.仓库号!="wh1" AND 仓库号!="wh2"

5.在Visual FoxPro中,使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是:          

A.REPLACE AGE WITH AGE+1          B.UPDATE STUDENT AGE WITH AGE+1

C.UPDATE SET AGE WITH AGE+1       D.UPDATE STUDENT SET AGE = AGE+1

6.使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是:       
A.SELECT * FROM STUDENT WHERE LEFT(姓名,2)= "王"

B.SELECT * FROM STUDENT WHERE RIGHT(姓名,2)= "王"

C.SELECT * FROM STUDENT WHERE TRIM(姓名,2)= "王"

D.SELECT * FROM STUDENT WHERE STR(姓名,2)= "王"

7.SQL是哪几个英文单词的缩写?         

A.Standard Query Language         B.Structured Query Language
C.Select Query Language           D.以上都不是

8. 使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当:       

A.使用WHERE子句                  B.在GROUP BY后面使用HAVING子句

C.先使用WHERE子句,再使用HAVING子句 

D.先使用HAVING子句,再使用WHERE子句

9.在SQL语言中建立表的命令是:       

A.UPDATE      B.ALTER TABLE       C.CREATE TABLE      D.SELECT

10.删除表的命令是:       

  A.CREATE TABLE    B.DROP TABLE        C.ALTER TABLE   D.DELETE TABLE

11.SQL语言是:       

A.高级语言        B.结构化查询语言    C.第三代语言    D.宿主语言

12.SQL-SELECT 的功能是:        

A.定义            B.查询              C.修改          D.控制

从13 到16 题使用如下数据:       

部门表

商品表

13.SQL语句: SELECT 部门号,MAX(单价*数量) FROM 商品表 GROUP BY 部门号,查询结果有几条记录?       
  A.1           B.4         C.3         D.10

14.SQL语句 :SELECT 部门表.部门号,部门名称,SUM(单价*数量) FROM 部门表,商品表  WHERE部门表.部门号 = 商品表.部门号  GROUP BY 部门表.部门号

查询结果是       

A.各部门商品数量合计      B.各部门商品金额合计

C.所有商品金额合计        D.各部门商品金额平均值

15.SQL语句:SELECT 部门表.部门号,部门名称,商品号,商品名称,单价FROM 部门表,商品表 WHERE部门表.部门号 = 商品表.部门号ORDER BY 部门表.部门号 DESC,单价

查询结果的第一条记录的商品号是:        

A.0101            B.0202          C.0110          D.0112

16.SQL语句:SELECT 部门名称 FROM 部门表 WHERE 部门号 IN(SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)查询结果是       

  A.家用电器部、电话手机部          B.家用电器部、计算机部

  C.电话手机部、电视录摄像机部      D.家用电器部、电视录摄像机部

·实验部分·

实验题目:结构化查询语言SQL

实验目的:通过本次实验,让学生掌握SQL语句的用法,并能用其定义表、修改表的结构及实现数据查询。

实验内容及实验步骤:    数据表xs.dbf结构

1.用SQL 语句创建表xs.dbf。

命令:                                                                        

2.把xs.dbf表学号字段的宽度改为4。(注意学号字段的类型为C)。

命令:                                                                        

3.删除奖惩,照片和出生日期三个字段。

命令:                                                                        

4.增加党员否字段,党员否字段定义为逻辑类型,长度为1。

命令:                                                                        

5.为xs.dbf 表增加2条新记录:学号、姓名、总分、年龄四个字段内容分别为(0001、tom、89.5、20),(0003、lily、88、19)。

命令:                                                                        

                                                                              

6.把姓名为lily的同学名字改为mali。(用update命令)。

命令:                                                                        

7.逻辑删除姓名为tom的记录。

命令:                                                                        

8.查询xsda.dbf表中男同学的全部字段内容,并按成绩字段值降序排列。

命令:                                                                        

                                                                              

9.查询xsda.dbf表中学号、姓名、年龄和成绩四个字段的内容,查询条件为成绩在75和85分之间的(包括75和85分的)。

命令:                                                                        

                                                                              

评阅时间:

六 结构化程序设计

·作业部分·

1.定义变量为全局变量的命令是:       

   A.public         B.private           C.release           D.declare

2.结构化程序设计的三种基本结构是:       

   A.选择、循环和嵌套结构               B.选择、循环和模块结构

   C.选择、循环和递归结构               D.顺序、选择和循环结构

3.运行程序p1.prg的命令是:       

   A.do command p1  B.do file p1        C.do p1             D.do form p1

4.当内存变量与字段变量同名时,内存变量名前一定要加:       

   A.N.             B.M.                C. F.               D. D.

5.可以将Loop作为有效命令使用的程序结构是:       

   A.if…endif      B.do while …enddo  C.do case…endcase  D.text…endtext

6.下面程序执行后结果是        。              

t=1

s=0

Do while  t<9

s=s+2

i=i+2

Enddo

?s

 A.4               B.6                 C.8                 D.10

7.下面程序执行后结果是        。

t="abcdefg"

i=1

Do while  i<6

??substr(t,6-i,1)

i=i+1

enddo

A.abcde           B.edcba             C.abcdefg           D.gfedcba

·实验部分·

实验题目:结构化程序设计

实验目的:通过本次实验,让学生掌握程序文件的建立、修改和运行,程序设计常用命令,程序的顺序、选择和循环结构。

实验内容及实验步骤:

1.程序功能:彻底删除 xsda.dbf表第三条记录。  

use xsda

                  

dele

                                                                                                                        use

2.程序功能:在学生.DBF数据表中查询任意一名学生,找到用DISP显示其信息,找不到则显示"无此人"。

use 学生

           "请输入任意学生姓名:" to a

                                   

                                   

disp

                                   

? "无此人"

                                   

use

3.程序功能:查询并显示xsda表中所有姓刘的记录。

use  xsda

scan           left(姓名,2)= "刘"

                    

endscan

use

4.程序功能:任意输入一个数,计算这个数的阶乘(N的阶乘为1*2*3*…*N)。

             "请输入一个数" to n

  i=          

s=          

  do while            

        s=s*i

                   

  enddo

  ?n

5.程序功能:输出九九乘法口诀表。

  Clear

  for i=1 to            

        for j=1 to            

                ??            +“*”+           +“=”+           +space(3)

        next

                   

  next 

评阅时间:


七 表单设计及其应用

·作业部分·

1.Visual Foxpro 系统中的表单扩展名是:       

A.scx            B.fox           C.mpr           D.cdx

2.要在表单中声明一个公用变量Public A,通常写在       事件中。

A.Load           B.Activate      C.Init          D.Valid

3.下面哪一个属性能设置表单的背景颜色?       

 A.ControlBox     B.Caption       C.BorderStyle   D.Backcolor

4.下面哪一个属性能设置表单在窗口内居中?        

A.AlwaysOnTop    B.Desktop       C.Controls      D.AutoCenter

5.设置计时器时间间隔的属性为:       

A.Interval       B.Caption       C.Value         D.AutoCenter

6.新创建的表单默认标题为Form1,为了修改表单的标题,应设置表单的:       

A.Name属性       B.Caption属性   C.Closable属性  D.AlwaysOnTop属性

7. 有关控件对象的dblClick事件的正确叙述是:       

 A.用鼠标双击对象时引发           B.用鼠标单击对象时引发
C.用鼠标右键单击对象时引发       D.用鼠标右键双击对象时引发

8.下面关于列表框和组合框的叙述中,哪一个是正确的?       

A.列表框和组合框都可以设置成多重选择   

B.列表框可以设置成多重选择,而组合框不能

C.组合框可以设置成多重选择,列表框不能

D.列表框和组合框都不能设置成多重选择

9.组合框控件当style属性为0,表示为下拉组合框,为2表示下拉列表框,其中       可以从列表中选择,也可以在编辑框中输入。

A.下拉组合框   B.下拉列表框    C.都不可以    D.都可以

10.用于指定列表框或组合框数据项的数据源类型的属性是:       

A.RowSourceType   B.ControlSource   C.RowSource    D.ControlSourceType

11.在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为:        

A.ThisForm.Refresh          B.ThisForm.Delete

 C.ThisForm.Hide             D.ThisForm.Release

12.关闭当前表单的程序代码是ThisForm.Release,其中的Release是表单对象的:       

A.标题       B.属性         C.事件          D.方法

13.下列关于页框控件的说明哪个是错误的?       

A.页框控件是包含页面(page)的容器对象。

B.PageCount属性指定一个页框对象所包含的页对象数目,取值范围为0—99。

C.页面只能随页框一起在表单中移动。

D.页面本身不是一种容器,页面上不可以再包含其它控件。

14.在页框控件第二页上有一名为label1的标签,在第二页的Activate事件中改变标签的内容为“你好” 的代码为(两个答案):       

A.thisform.pageframe1.page2.label1.caption=”你好”

B.this.label1.caption=”你好”

C.thisform.label1.caption=”你好”

D.this.caption=”你好”

15.指定如何对图像控件进行尺寸调整的属性为:       

A.AutoSize        B.Stretch         C.FontSize     D.ControlSource

16.刷新表单控件中的显示值的方法是:       

A.Refresh   B.Release       C.AlwayOnTop    D.RealOnly

·实验部分·

实验一:

实验题目:动画文字表单

实验目的:通过本次实验让学生掌握表单、标签、计时器、命令按钮控件的使用,掌握随机函数rand( )的使用方式。

运行界面:

实验内容及实验步骤:

1.表单的标题为“动画文字”,运行时总在最前面且自动居中。

步骤:单击菜单栏的【文件】-【新建】-【表单】-【新建文件】命令,在“属性窗口”中设置          属性为“动画文字”,设置                 属性为“.T.”。

2.一个标签控件,文字内容为“动画文字”,标签大小自动适应文字大小。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

          属性为“动画文字”,设置          属性为“.T.”。

3.两个命令按钮控件,内容分别为:开始、停止。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

          属性为“开始”,同理添加“结束”按钮。

4.一个计时器控件,要求计时器0.3秒被触发一次,计时器在运行时不可用(即文字不动)。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

          属性为“300”,设置          属性为“.F.”。

5.点击开始按钮文字开始移动。

步骤: 双击“开始”按钮,在弹出的窗口中输入程序

                                                                                

6.点击停止按钮文字停止变化。

步骤:双击“停止”按钮,在弹出的窗口中输入程序

                                                                                

7. 要求文字向上移动,每次移动10个象素,并实现边移动边变色。

步骤:双击计时器控件,在弹出的窗口中输入程序

                                                                                

8.以名为my_form1保存并运行表单。

步骤:单击菜单栏的【文件】-【保存】命令,在弹出的“另存为”对话框输入文件名为

          ,单击菜单栏的【表单】-【执行表单】命令,运行表单程序。

实验二:

实验题目:字体设置表单

实验目的:通过本次实验部分让学生掌握文本框、复选框、列表框、组合框和微调按钮控件的使用,掌握表单释放命令thisform.release的使用方法。

运行界面:

实验内实验步骤:

1.一个文本框,内容为“字体设置”,字体大小为18,颜色为红色。

步骤:单击菜单栏的【文件】-【新建】-【表单】-【新建文件】命令,在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置          属性为“字体设置”,设置          属性为“18”,设置          属性为“红色”。

2.一个列表框,内容为“宋体、楷体、隶书、华文彩云”。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

               属性为“1-值”,设置          属性为“宋体,楷体,隶书,华文彩云”。

3.一个组合框,内容为“红色、绿色、蓝色、黑色、白色”。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

             属性为“1-值”,设置          属性为“红色,绿色,蓝色,黑色,白色”。

4.四个复选框,内容分别为加粗、倾斜、下划线、删除线。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

          属性为“加粗”,同理添加其它控件,并设置“倾斜、下划线、删除线”。

5.一个微调按钮,用于控制文本框中文字的字号,初始值为18,最小值为8,最大值为100,每次变化2。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

          属性为“18”,                  属性及                  属性为“8”,

                  属性及                  属性为“100”,          属性为“2”。

6.分别操作以上控件,使文本框文字根据选中内容发生变化。

步骤:1)双击“列表框”控件,在弹出的窗口中输入程序

                                                                              

2)双击“组合框”控件,在弹出的窗口中输入程序

                                                                              

3)双击“加粗”复选框,在弹出的窗口中输入程序

                                                                              

4)双击“倾斜”复选框,在弹出的窗口中输入程序

                                                                              

5)双击“下划线”复选框,在弹出的窗口中输入程序

                                                                              

6)双击“删除线”复选框,在弹出的窗口中输入程序

                                                                              

7)双击“微调按钮控件”,在弹出的窗口中更改其“过程”为“InteractiveChange”并输入程序                                                                      

7.点击退出按钮,表单退出运行。

步骤:在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置

          属性为“退出”。双击“退出”按钮,在弹出的窗口中输入程序

                                                                                

8.以名为my_form2保存并运行表单。

步骤:单击菜单栏的【文件】-【保存】命令,在弹出的“另存为”对话框输入文件名为

          ,单击菜单栏的【表单】-【执行表单】命令,运行表单程序。

实验三:

实验题目:页框操作表单

实验目的:通过本次实验部分让学生掌握选项按钮组、编辑框、表格、页框和图像控件的使用;表单数据源的设置;表单刷新命令thisform.refresh的使用方法。

运行界面:

实验内容及实验步骤:

1.一个页框控件,有四页,名字分别为第一页、第二页、第三页、第四页。

步骤:单击菜单栏的【文件】-【新建】-【表单】-【新建文件】命令,在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置          属性为“4”,在“页框”控件上单击鼠标右键,在弹出的菜单上选择【编辑】命令,在“属性窗口”设置          属性为“第一页”,单击页框的其它页,同理在属性窗口中设置“第二页、第三页、第四页”。

2.第一页:选项按钮和标签控件,选项按钮组内容为对、错,选择的结果显示在标签上。

步骤:在页框处于编辑状态时,单击页框的第一页,在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置          属性为“空”(即运行时什么也不显示);在表单控件中选择          控件后在表单上单击鼠标,在“选项按钮组”控件上单击鼠标右键,在弹出的菜单上选择【编辑】命令,单击第一个选项按钮,在“属性窗口”中设置          属性为“对”,单击第二个选项按钮,在“属性窗口”中设置

          属性为“错”。 双击命令按钮组,在optiongroup1的click事件中输入程序

                                                                                

3.第二页:文本框控件,单击此页随机在文本框中显示学生.dbf数据表中任意记录的姓名。

步骤:在页框处于编辑状态时,单击页框的第二页,在表单控件中选择文本框控件后在表单上单击鼠标添加控件;在表单上单击鼠标右键,在弹出的下拉菜单上选择【数据环境】命令,在弹出的打开窗口中选择数据表             ,单击【确定】按钮后关闭数据环境设计器;单击“文本框”控件在“属性窗口”中设置             属性为“学生.姓名”。双击页框的第二页,在弹出的窗口中输入程序

                                                                                

4.第三页:表格控件,在表格中显示学生.dbf数据表中所有字段的内容。

步骤:在页框处于编辑状态时,单击页框的第三页,在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中设置                     属性为“0-表”,设置

                属性为“学生”。

5.第四页:利用图像控件显示任意一张图片,填充方式为等比填充。

步骤:在页框处于编辑状态时,单击页框的第四页,在表单控件中选择          控件后在表单上单击鼠标,在“属性窗口”中点击            属性右侧的浏览按钮,在弹出的“打开”对话框中浏览选取一个图片;设置            属性为“1-等比填充”。

6. 以名为my_form3保存并运行表单。

步骤:单击菜单栏的【文件】-【保存】命令,在弹出的“另存为”对话框输入文件名为

          ,单击菜单栏的【表单】-【执行表单】命令,运行表单程序。

评阅时间:
八 报表设计及其应用

·作业部分·

1.用"报表设计器"设计的报表文件的扩展名是:       

   A.MPR            B.MNX           C.FRX               D.FRM

2.Visual Foxpro系统提供了4种常用报表布局它们是:       

   A.列报表、行报表、行列报表和多栏报表  

   B.列报表、行报表、多栏报表和一对多报表

   C.列报表、行报表、一对一报表和一对多报表 

   D.列报表、行报表、多栏报表和单栏报表

3.使用“快速报表”时需要确定字段和字段布局,默认将包含:       

   A.第一个字段     B.前三个字段    C.空(即不包含字段)D.全部字段

4.为了在报表中加入一个表达式,应该插入一个:       

   A.表达式控件     B.域控件        C.标签控件          D.文件控件

5.报表设计器中不包含在基本带区的有:       

   A.标题           B.页标头        C.页脚注            D.细节

6.不能作报表数据源的是:       

   A.数据库表       B.视图          C.查询              D.自由表

·实验部分·

实验题目:报表设计

实验目的:通过本次实验,让学生掌握如何利用报表向导制作报表文件, 结合报表设计器细化报表,理解标题、页标头、细节、页注脚、总结等几个带区的用法,要学会控件的使用方法,重点掌握如何用域控件添加函数、计算数据。

实验内容及实验步骤:

1.利用快速报表制作如下报表。

1)字段选择为:学生.DBF表除简历和照片的全部字段。

步骤:单击菜单栏的【文件】-【新建】-【报表】-【新建文件】命令,单击菜单栏的【报表】-          命令,在弹出的“打开”对话框中,选择表“学生.dbf”,在弹出的“快速报表”对话框中,单击          按钮,在所有字段中双击                         

               ,字段到“选定字段”,单击【确定】按钮。

2)报表主标题:学生情况表,副标题:简单情况。

步骤:单击菜单栏的【报表】-          命令,在弹出的“标题/总结”对话框中,选择

          复选框,单击【确定】按钮,在报表控件中选择          控件,在标题带区中单击鼠标,输入报表标题“学生情况表”,同理输入副标题“简单情况”。

3)报表每页底部显示“人数:N”,及制表日期。

步骤:在报表控件中选择          控件,在页注脚带区中单击鼠标,输入“人数:”,在报表控件中选择          控件,在弹出的“报表表达式”对话框中,单击表达式右侧浏览按钮,选择“学号”字段,单击【确定】按钮返回“报表表达式”对话框,单击          按钮,在弹出的“计算字段”对话框中选择          单选按钮,单击【确定】按钮返回“报表表达式”对话框,单击【确定】按钮;在报表控件中选择          控件,在弹出的“报表表达式”对话框中单击表达式右侧浏览按钮,单击“函数”中日期下拉菜单选择

          函数单击【确定】按钮返回“报表表达式”对话框,单击【确定】按钮。

4)以名为my_bb1保存并预览报表。

步骤:单击菜单栏的【文件】-【保存】命令,在弹出“另存为”对话框中输入文件名

          ,单击菜单栏的【显示】-          命令,预览报表。

2.利用报表向导制作名为my_bb2的报表。

1)字段选择为:xsda.dbf和txl.dbf的学号、姓名、出生日期、地址、邮编和电话6个字段。

步骤:单击菜单栏的【文件】-【新建】-【报表】-          命令,在弹出的“向导选取”对话框中选择                    ,单击【确定】按钮,在弹出的“一对多报表向导”对话框中设置“步骤1-从父表中选择字段”,单击“数据库和表”右侧的浏览按钮,选择表          ,单击【确定】按钮,在“可用字段”中双击                         

字段到右侧的选定字段中,单击【下一步】按钮,在“步骤2-从子表中选择字段”,单击“数据库和表”右侧的浏览按钮,选择表          ,单击【确定】按钮,在“可用字段”中双击                              字段到右侧的选定字段中,单击【下一步】按钮,在“步骤3-为表建立链接”中,单击【下一步】按钮。

2)按学号降序排序。

步骤:在“步骤4-排序记录”中,单击          单选按钮并在“可用字段或索引标识”中双击          字段使其加入“选定字段”中,单击【下一步】按钮,在“步骤5-选择报表样式”对话框中,单击【下一步】按钮。

3)报表标题为:学生通讯录。

步骤:在“步骤6-完成”中,输入报表标题          ,选择“保存报表并在‘报表设计器’中修改报表”单选按钮,单击【完成】按钮,在弹出的“另存为”对话框中输入报表名          ,单击【保存】按钮。

4)并在组标头中添加一个标签控件:内容为“年龄”。

步骤:在报表控件中选择          控件,在组标头带区中单击鼠标左键,输入“年龄”。

5)在细节中对应年龄标签处添加一个域控件:20##-year( 出生日期 )。

步骤:在报表控件中选择          控件,在细节带区中单击鼠标左键,在弹出的“报表表达式”对话框中输入表达式                    ,单击【确定】按钮。

6)页注脚内容为:2006学生通讯录。

步骤:;在报表控件中选择          控件,在页注脚带区中单击鼠标左键,输入“2006学生通讯录”。

7)保存并预览报表。

步骤:单击菜单栏的【文件】-【保存】命令,单击菜单栏的【显示】-          命令,预览报表。

评阅时间:
九 菜单设计与应用

·作业部分·

1.用"菜单设计器"设计的菜单文件扩展名是:       

   A.MPR            B.MNX           C.FRX           D.FRM

2.经过编译后的菜单文件扩展名是:       

   A.MPR            B.MNX           C. FRX          D.FRM

3.设置系统默认菜单的命令是:       

   A.set sysmenu on                 B.set sysmenu off

   C.set sysmenu to default         D.set default to sysmen

4.将一个预览成功的菜单存盘,再运行该菜单,却不能执行,这是因为:       

   A.没有放到项目中 B.没有生成      C.要用命令方式  D.要编入程序

·实验部分·

实验题目:菜单设计

实验目的:掌握下拉式菜单的设计与应用方法。

运行界面:

实验内容及实验步骤:

1.有四个主菜单项:数据统计、数据浏览、计算、退出。

步骤:单击菜单栏的【文件】-【新建】-【菜单】-【新建文件】-【菜单】命令,在弹出的菜单设计器中,设置菜单名称为“数据统计”,设置“结果”为          ,同理创建 “数据浏览”、“计算”、“退出”菜单项。

2.数据统计有三个子菜单项:求记录数、求平均、求总和。

步骤:单击“数据统计”菜单右侧          按钮,设置菜单项“求记录数”,设置“结果”为          ,同理设置“求平均”、“求总和”菜单项。

3.数据浏览有二个子菜单项:生日情况、女同学。

步骤:单击“菜单级”下拉子菜单中选择          ,返回编辑主菜单,单击“数据浏览”菜单右侧          按钮,设置菜单项“生日情况”,设置结果为          ,同理设置“女同学”菜单项。

4.计算有二个子菜单项:偶数和、阶乘。

步骤:单击“菜单级”下拉子菜单中选择          ,返回编辑主菜单,单击“计算”菜单右侧          按钮,设置菜单项“偶数和”,设置“结果”为          ,同理设置“阶乘”菜单项。

5.求记录数:求xsda.dbf表中性别为女的人数并输出。

步骤:单击“求记录数”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                               

6.求平均:求xscj.dbf表中高等数学的平均成绩并输出。

步骤:单击“求平均”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                               

7.求总和:求teacher.dbf表中女同志的月收入的总和存入变量x中并输出。

步骤:单击“求总和”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                               

8.生日情况:显示学生表中82年出生的记录。

步骤:单击“生日情况”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                               

9.女同学:显示学生表中女同学的信息。

步骤:单击“女同学”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                               

10.偶数和:利用for循环,计算100以内的偶数和。

步骤:单击“偶数和”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                              

11.阶乘:利用do while循环,计算6的阶乘。

步骤:单击“阶乘”右侧          按钮,在弹出的过程设计窗口中输入程序

                                                                              

12.退出:返回VFP系统菜单。

步骤:设置“退出”菜单项的“结果”为          ,在“退出”按钮右侧文本框中输入

                                                                              

13. 以名为my_cd1保存并运行菜单。

步骤:单击菜单栏中的【文件】-【保存】命令,在弹出的的“另存为”对话框中输入文件名为          ,单击菜单栏的【菜单】-          命令,在弹出的“生成菜单”对话框中单击          按钮,单击菜单栏的【程序】-          命令,在弹出的“运行”对话框中选择          程序文件,单击【运行】按钮。

评阅时间:

相关推荐