第67套.docx
- 文档编号:6095178
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:40
- 大小:1.13MB
第67套.docx
《第67套.docx》由会员分享,可在线阅读,更多相关《第67套.docx(40页珍藏版)》请在冰豆网上搜索。
第67套
第67套
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开招生数据库SDB,完成如下操作:
1.在KSB表中增加一个名为"备注"的字段、字段数据类型为"字符"、宽度为30;
2.在考生成绩表KSCJB中给成绩字段设置有效性规则和默认值,成绩>=0AND成绩<=150;默认值为0;
3.通过"考生号"字段建立KSB表和KSCJB表间的永久联系,并为该联系设置参照完整性约束:
更新规则为"级联";删除规则为"限制";插入规则为"忽略"。
4.使用报表向导建立一个简单报表。
要求选择考生表KSB中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为"列",方向为"纵向";排序字段为"考生号"(升序);报表标题为"考生成绩一览表";报表文件名为ONE.FRX。
解答:
1.通过表设计器或命令增加一个字段:
altertableksbadd备注C(30)
2.打开数据库,在数据库中通过表的快捷菜单进入表设计器,在表设计器中先单击成绩字段,再设置相应的规则。
3.通过拖动索引建立永久关系,用鼠标右键单击关系线,在快捷菜单中单击“编辑参照完整性”设置参照完整性。
4.按向导要求设计报表。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开招生数据库SDB,完成如下简单应用:
1.使用一对多表单向导选择KSB表和KSCJB表生成一个名为TWO的表单。
要求从父表KSB中选择所有字段,从子表KSCJB中选择所有字段,使用"考生号"建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自KSB),升序;表单标题为"考生数据输入维护"。
2.在考生文件夹下打开命令文件THREE.PRG,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。
并将查询结果存储到表THREE中。
注意,该命令文件在第3行、第6行、第9行有错误,打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。
命令文件THREE.PRG的内容如下:
解答:
1.按向导的要求设置即可。
2.第3行改为:
INTOarraytem
第6行改为:
WHEREnotexists;
第9行改为:
WHERE成绩 (1)and考生号=ksb.考生号); 三、综合应用(1小题,计30分) 在考生文件夹下,打开招生数据库SDB,完成如下综合应用: 1.创建文件名为form的表单,将表单标题改为: 录取研究生。 2.在表单中设计"录取"和"退出"两个按钮。 两个按钮功能分别如下: ⑴在"录取"按钮(Command1)中,编写程序,查询总成绩大于或等于330分的考生的考生号、姓名、性别、单位和该生的政治成绩、外语成绩、高数成绩(即高等数学成绩)、专业课成绩、总成绩,并将结果按总成绩降序排序存储到表FOUR中。 表FOUR(需要自己创建或生成)的字段名为: 考生号、姓名、性别、单位、政治成绩、外语成绩、高数成绩、专业课成绩、总成绩(各成绩字段的类型为N(5,1),其他字段的类型与原表中一致)。 ⑵单击"退出"按钮(Command2)时,关闭表单。 3.表单设计完成后,运行表单,单击"录取"按钮进行统计,然后单击"退出"按钮关闭表单。 注: 在考试科目代码表DM中存储了各考试科目与考试科目名对应关系。 解答: 建立表单,添加控件,设置其基本属性,如下图: 设置“录取”按钮的Click事件代码为: settalkoff sele1 useksb copystrutot1fiel考生号,姓名,性别,单位 altertablet1add政治成绩N(5,1) altertablet1add外语成绩N(5,1) altertablet1add高数成绩N(5,1) altertablet1add专业课成绩N(5,1) altertablet1add总成绩N(5,1) closeall sele1 useksb dowhile! eof() scattokkkfield考生号,姓名,性别,单位 sele2 usekscjb sum(成绩)toafor考生号=a.考生号 ifa>=330 sele4 uset1 appeblank gathfromkkk sele2 locafor考生号=a.考生号 dowhilefound() sele3 usedm locafor考试科目=b.考试科目 docase case考试科目名="政治" sele4 repl政治成绩withb.成绩 case考试科目名="外语" sele4 repl外语成绩withb.成绩 case考试科目名="高等数学" sele4 repl高数成绩withb.成绩 case考试科目名="专业课" sele4 repl专业课成绩withb.成绩 endcase sele2 cont enddo endif sele1 skip enddo sele4 replall总成绩with政治成绩+外语成绩+高数成绩+专业课成绩 sorton总成绩/Dtofour 设置“退出”按钮的Click事件代码为: Thisform.release 本题所用到的表为: 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下,完成如下操作: 1.打开"学生管理"数据库,并从中永久删除"学生"表。 2.建立一个自由表"教师",表结构如下: 编号字符型(8) 姓名字符型(10) 性别字符型 (2) 职称字符型(8) 3.利用查询设计器建立一个查询,该查询包含课程名为"数据库"的"课程"表中的全部信息,生成的查询保存为query。 4.用SQLUPDATE语句将"课程"表中课程名为"数据库"的课程的任课教师更改为"T2222",并将相应的SQL语句存储在文件Four.prg中。 解答: 1.单击“打开”工具,选择文件类型为“数据库”,双击考生文件夹下的“学生管理”数据库,在随后打开的“数据库设计器”中,用鼠标右键单击“学生”表,在出现的快捷菜单中单击“删除”,有出现的对话框中单击“删除”按钮。 2.选使用命令CLOSEALL关闭所有的数据库,再使用命令“CREATE教师”建立自由表,在“表设计器”中分别输入每个字段的字段名、类型、宽度,最后单击“表设计器”中的“确定”按钮。 3.单击“新建”工具,在出现的“新建”对话框中选择“查询”,单击“新建文件”按钮,将“课程”表添加到查询设计器中,在“字段”卡中选择所有字段,在“筛选”选项卡中给出条件: 课程名=”数据库”,单击“保存”工具,给出查询文件名“query.qpr”,单击“确定”按钮。 使用命令: MODICOMMFOUR进入编辑状态,输入下列代码,并保存、运行: upda课程set任课教师="T2222"where课程名="数据库" 二、简单应用(2小题,每题20分,计40分) 在考生目录下完成如下简单应用: 1.建立表单,表单文件名和表单控件名均为formtest,表单标题为"考试系统",表单背景为灰色(BackColor=192,192,192),其他要求如下: (1)表单上有"欢迎使用考试系统"(Label1)8个字,其背景颜色为灰色(BackColor=192,192,192),字体为楷体,字号为24,字的颜色为桔红色(ForeColor=255,128,0);当表单运行时,"欢迎使用考试系统"8个字向表单左侧移动,移动由计时器控件Timer1控制,间隔(interval属性)是每200毫秒左移10个点(提示: 在Timer1控件的Timer事件中写语句 THISFORM.Label1.Left=THISFORM.Label1.Left-10) 当完全移出表单后,又会从表单右侧移入。 (2)表单有一命令按钮(Command1),按钮标题为"关闭",表单运行时单击此按钮关闭并释放表单。 2.在"学生管理"数据库中利用视图设计器建立一个视图sview,该视图包含3个字段课程编号、课程名和选课人数。 然后利用报表向导生成一个报表creport,该报表包含视图sview的全部字段和内容。 解答: 1.单击“新建”工具,在“新建”对话框中选择“表单”,单击“新建文件”按钮,进入表单设计器后,单击“保存”工具,输入文件名: formtest,用鼠标右键单击表单,在快捷菜单中选择“属性”,在属性窗口中,将Name属性改为: formtest,Caption属性改为: 考试系统。 打开“表单控件”工具栏,在表单上添加标签label1,打开其属性窗口,分别设置其Caption属性为: 欢迎使用考试系统;设置其Backcolor属性为: 192,192,192;Forecolor属性为: 255,128,0;FontName属性为: 楷体;Fontsize属性为24;在表单上添加计时器控件timer1,设置其Interval属性为200,设置其timer事件代码为: ifthisform.label1.left+thisform.label1.width<=0 thisform.label1.left=thisform.width else thisform.label1.left=thisform.label1.left-10 endif 添加命令按钮,将其caption属性改为: 关闭,其Click事件代码为: Thisform.release 设置的结果如下图: 2.先打开数据库,再使用新建视图,分别添加“课程”、“考试成绩”两个表,在“选取字段”、“排序条件”、“分组字段”中分别输入下图所示的内容,以sview为名保存,最后单击“运行”工具。 单击“新建”工具,在“新建”对话框内选择“报表”,单击“向导”按钮,然后按题目要求设置向导的每一步即可。 三、综合应用(1小题,计30分) 在考生目录下有myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单(在表单的load事件中运行菜单程序)。 新建立的菜单文件名为mymenu,结构如下(表单、报表和退出是菜单栏中的3个菜单项): 表单 浏览课程 浏览选课统计 报表 预览报表 退出 各菜单项的功能如下: ●选择"浏览课程"时在表单的表格控件中显示"课程"表的内容(在过程中完成,直接指定表名); ●选择"浏览选课统计"时在表单的表格控件中显示简单应用题建立的视图sview的内容(在过程中完成,直接指定视图名); ●选择"预览报表"时预览简单应用题建立的报表creport(在命令中完成); ●选择"退出"时关闭和释放表单(在命令中完成)。 注意: 最后要生成菜单程序,并注意该菜单将作为顶层表单的菜单。 Myform表单如下图: 解答: 第一步: 新建菜单,进入菜单设计器,设置菜单栏和菜单项,其中,菜单项的“过程”或“命令”代码分别设置为: 浏览课程: myform.grid1.recordsource="课程" 浏览选课统计: opendata学生管理 myform.grid1.recordsource="sview" 预览报表: reportformcreportpreview 退出: myform.release 单击“显示”菜单下的“常规选项”功能,选中其中的“顶层表单”复选框,用文件名“mymenu”保存菜单,单击“菜单”菜单下的“生成”功能,生成菜单程序文件mymenu.mpr。 第二步: 打开表单,将表单的ShowWindow属性设置为2,设置该表单的Load事件代码为: domymenu.mprwithTHIS,.t.。 附: 本题相关表 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成如下操作: 1.新建一个名称为"外汇数据"的数据库。 2.将自由表rate_exchange和currency_sl添加到数据库中。 3.通过"外币代码"字段为rate_exchange和currency_sl建立永久联系(如果必要请建立相关索引)。 4.打开表单文件test_form,该表单的界面如下图所示,请将标签"用户名"和"口令"的字体都改为"黑体"。 解答: 1.单击工具栏上的“新建”按扭,选择“数据库”,然后单击“新建文件”。 3.在数据库设计器中建立关系。 分析: rate_exchange为父表,currency_sl为子表。 在rate_exchang中为“外币代码”建立主索引;在currency_sl中“外币代码”建立普通索引。 (建立方法同前套题目中索引的建立方法,此处略) 然后将主表中的主索引“外币代码”拖放到子表中的“外币代码”索引处,建立永久关系。 二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成如下简单应用: 1.rate_pro.prg中的程序功能是计算出"林诗因"所持有的全部外币相当于 人民币的价值数量,summ中存放的是结果。 注意: 某种外币相当于人民币数量的计算公式: 人民币价值数量=该种外币的"现钞买入价"*该种外币"持有数量"。 请在指定位置修改程序的语句,不得增加或删除程序行,请保存所做的修改。 2.建立一个名为menu_rate的菜单,菜单中有两个菜单项"查询"和"退出"。 "查询"项下中还有一个子菜单,子菜单有"日元"、"欧元"、"美元"三个选项。 在"退出"菜单项下创建过程,该过程负责返回系统菜单。 解答: 1.打开rate_pro.prg文件,内容如下: 单击工具栏上的“新建”按扭,选择“菜单”,然后单击“新建文件”。 在对话框中单击“菜单”。 (或用命令creamenumenu_rate) 先设置主菜单,如下: 设置“查询”菜单的结果为“子菜单”,“退出”菜单的结果为“过程”,且过程的代码为: setdefatosysmenu 创建“查询”的子菜单如下: 保存退出,菜单文件名为: menu_rate 三、综合应用(1小题,计30分) 设计一个文件名和表单名均为myrate的表单,所有控件的属性必须在表单设计器的属性窗口中设置。 表单的标题为"外汇持有情况"。 表单中有一个选项组控件(命名为myOption)和两个命令按钮"统计"(command1)和"退出"(command2)。 其中,选项组控件有三个按钮"日元"、"美元"和"欧元"。 运行表单时,首先在选项组控件中选择"日元"、"美元"或"欧元",单击"统计"命令按钮后,根据选项组控件的选择将持有相应外币的人的姓名和持有数量分别存入rate_ry.dbf(日元)或rate_my.dbf(美元)或rate_oy(欧元)中。 单击"退出"按钮时关闭表单。 表单建成后,要求运行表单,并分别统计"日元"、"美元"和"欧元"的持有数量。 解答: (1)单击工具栏的“新建”按扭,选择“表单”,再单击“新建文件”,启动“表单设计器”。 (2)按照题目要求添加控件,如图: 选中“选项按扭组”,单击右键,选择编辑,然后设置每个选项按扭的caption依次为: 日元、美元和欧元。 设置两个命令按扭的caption为: 统计和退出。 (3)编写事件代码。 “统计”按扭的click代码如下: x=thisform.myoption.value do case casex=1 SELECTCurrency_sl.姓名,Currency_sl.持有数量; FROM 外汇数据! rate_exchangeINNERJOIN外汇数据! currency_sl; ON Rate_exchange.外币代码=Currency_sl.外币代码; WHERERate_exchange.外币名称="日元"; INTOTABLErate_ry.dbf casex=2 SELECTCurrency_sl.姓名,Currency_sl.持有数量; FROM 外汇数据! rate_exchangeINNERJOIN外汇数据! currency_sl; ON Rate_exchange.外币代码=Currency_sl.外币代码; WHERERate_exchange.外币名称="美元"; INTOTABLErate_my.dbf casex=3 SELECTCurrency_sl.姓名,Currency_sl.持有数量; FROM 外汇数据! rate_exchangeINNERJOIN外汇数据! currency_sl; ON Rate_exchange.外币代码=Currency_sl.外币代码; WHERERate_exchange.外币名称="欧元"; INTOTABLErate_oy.dbf Endcase “退出”按扭的click代码: thisform.release ※解题技巧: “统计”按扭的代码可以用“查询设计器”做完,然后查看sql把代码复制过来;每个分支粘贴一次,然后作少量的修改。 附数据表内容和结构如下: 一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分) 在考生文件夹下完成如下操作: 1.建立一个名称为"外汇管理"的数据库。 2.将表currency_sl.DBF和rate_exchange.DBF添加到新建立的数据库中。 3.将表rate_exchange.DBF中"买出价"字段的名称改为"现钞卖出价"。 4.通过"外币代码"字段建立表rate_exchange.DBF和currency_sl.DBF之间的一对多永久联系(需要首先建立相关索引)。 解答: 1.利用“新建”工具创建数据库。 (操作略) 操作略。 (见前面章节) 2.在“数据库设计器”选中rate_exchange表,单击右键选择“修改”进入到“表设计器”,修改字段名。 分析可知: rate_exchange表是父表,currency_sl是子表。 在rate_exchange中通过“外币代码”建立主索引,在currency_sl中通过“外币代码”建立普通索引;然后为两表建立永久关系。 (操作略) 二、简单应用(2小题,每题20分,计40分) 在考生文件夹下完成如下简单应用: 1.在建立的"外汇管理"数据库中利用视图设计器建立满足如下要求的视图: 1)视图按顺序包含列Currency_sl.姓名、Rate_exchange.外币名称、 Currency_sl.持有数量和表达式Rate_exchange.基准价*Currency_sl.持有数量; 2)按"Rate_exchange.基准价*Currency_sl.持有数量"降序排序; 3)将视图保存为view_rate。 2.使用SQLSELECT语句完成一个汇总查询,结果保存在results.dbf表中, 该表含有"姓名"和"人民币价值"两个字段(其中"人民币价值"为每人持有外币的"Rate_exchange.基准价*Currency_sl.持有数量"的合计),结果按"人民币价值"降序排序。 解答: 1.利用“新建”工具创建视图,启动“视图设计器”。 (操作略) (1)添加表到“视图设计器”中。 (2)设置输出的列。 (3)设置排序依据。 (4)保存视图。 方法一 查询设计器 新建一个查询,启动“查询设计器”。 添加表。 设置输出字段。 人民币价值可用表达式生成器生成,如下: 然后将其放到选定字段中。 设置排序依据。 输出设置。 分组设置。 (以姓名分组) 运行查询。 方法二 在命令窗口输入SQL语句。 SELECTCurrency_sl.姓名,; SUM(Currency_sl.持有数量*Rate_exchange.基准价) as人民币价值; FROM 外汇管理! currency_slINNERJOIN外汇管理! rate_exchange; ON Currency_sl.外币代码=Rate_exchange.外币代码; GROUPBYCurrency_sl.姓名; ORDERBY2DESC; INTOTABLE results.dbf 三、综合应用(1小题,计30分) 设计一个表单,所有控件的属性必须在表单设计器的属性窗口中设置,表单文件名为"外汇浏览",表单界面如下所示: 其中: 1."输入姓名"为标签控件Label1; 2.表单标题为"外汇查询"; 3.文本框的名称为Text1,用于输入要查询的姓名,如张三丰; 4.表格控件的名称为Grid1,用于显示所查询人持有的外币名称和持有数量,RecordSourceType的属性为4(SQL说明); 5."查询"命令按钮的名称为Command1,单击该按钮时在表格控件Grid1中按持有数量升序显示所查询人持有的外币名称和数量(如上图所示),并将结果存储在以姓名命名的DBF表文件中,如张三丰.DBF; 6."退出"命令按钮的名称为Command2,单击该按钮时关闭表单。 完成以上表单设计后运行该表单,并分别查询"林诗因"、"张三丰"和"李寻欢"所持有的外币名称和持有数量。 解答: 先建立一空白表单。 添加控件到表单上。 在属性窗口设置属性。 标签的caption设为输入姓名 表单的caption设为外汇查询 表格控件的RecordSourceType的属性为4(SQL说明) 两个明令按扭的caption依次设为: 查询和退出 编写事件代码 “查询”按扭的click代码如下: x=allt(thisform.text1.value) thisform.grid1.recordsourcetype=4 thisform.grid1.recordsource=; "SELECTRate_exchange.外币名称,Currency_sl.持有数量; FROM 外汇管理! currency_slINNERJOIN外汇管理! rate_exchange; ON Currency_sl.外币代码=Rate_exchange.外币代码; WHERECurrency_sl.姓名=x; ORDERBYCurrency_sl.持有数量; INTOTABLE&x" thisform.refresh “退出”按扭的click代码: thisform.release 上面代码中的SQL部分可用“查询设计器”得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 67