文档库 最新最全的文档下载
当前位置:文档库 › 国家二级计算机上机答案1-40

国家二级计算机上机答案1-40

1套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,完成如下操作:
1. 打开"学生管理"数据库,并从中永久删除"学生"表。
2. 建立一个自由表"教师",表结构如下:
编号 字符型(8)
姓名 字符型(10)
性别 字符型(2)
职称 字符型(8)
3. 利用查询设计器建立一个查询,该查询包含课程名为"数据库"的"课程"表中的全部信息,生成的查询保存为query。
4. 用SQL UPDATE语句将"课程"表中课程名为"数据库"的课程的任课教师更改为"T2222", 并将相应的SQL语句存储在文件Four.prg中。
解题思路:4、UPDATE 课程 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事件中写语句
https://www.wendangku.net/doc/d115421912.html,bel1.Left=https://www.wendangku.net/doc/d115421912.html,bel1.Left-10)
当完全移出表单后,又会从表单右侧移入。
(2) 表单有一命令按钮(Command1) ,按钮标题为"关闭",表单运行时单击此按钮关闭并释放表单。
解题思路:
1. 新建表单,单击表单,在其属性的Caption处输入:考试系统 ,在Name处输入:formtest ,在BackColor处输入:192,192,192
2.添加一个标签Label1,在其属性Caption处输入:欢迎使用考试系统 ,在BackColor处输入:192,192,192 ,在ForeColor处输入:255,128,0 ,在FontName处选择“楷体_GB2312”,在FontSize处输入:24
3.建立一个计时器控件Timer1,在“属性”的Interval处输入:200 ,再双击此计时器控件,在窗口中输入命令组:
https://www.wendangku.net/doc/d115421912.html,bel1.Left=https://www.wendangku.net/doc/d115421912.html,bel1.Left-10
If https://www.wendangku.net/doc/d115421912.html,bel1.Left<=https://www.wendangku.net/doc/d115421912.html,bel1.Width Then
https://www.wendangku.net/doc/d115421912.html,bel1.Left=THISFORM.WIDTH
ENDIF
4.添加一个命令按钮,在其属性Caption处输入:关闭 ,双击“关闭”命令按钮,输入:thisform.release

2. 在"学生管理"数据库中利用视图设计器建立一个视图sview,该视图包含3个字段课程编号、课程名和选课人数。然后利用报表向导生成一个报表creport,该报表包含视图sview的全部字段和内容。
解题思路:
一、建立视图
1.打开并修改数据库“学生管理”,新建视图,先添加“考试成绩”表,再添加“课程”表,单击关闭关闭
2.单击“字段”选项卡,选择“考试成绩.课程编号

”和“课程.课程名”的字段添加
 在“函数和表达式”处输入:count(*) as 选课人数 ,并单击添加
3.单击“分组依据”选项卡,选择“考试成绩.课程编号”并单击添加
4.保存该视图,在“保存”对话框中输入视图名:sview
二、用向导建立报表(略)
三、综合应用(1小题,计30分)
在考生文件夹下有myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单(在表单的load事件中运行菜单程序)。新建立的菜单文件名为mymenu,结构如下(表单、报表和退出是菜单栏中的3个菜单项):
表单
浏览课程
浏览选课统计
报表
预览报表
退出
2套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,完成如下操作:
1. 从student表查询所有性别为"男"的学生信息,并按学号升序排序将查询结果存入results表。
解题思路:SELECT * FROM student WHERE 性别="男" ORDER BY 学号 INTO TABLE results
2. 利用表单向导生成一个表单,该表单含有student表的学号、班级、姓名和性别4个字段,按学号字段升序排序,其他设置采用默认值,并将表单保存为student.scx文件。
解题思路:(略)
3. 建立一个命令文件 myprog.prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。
解题思路:在新建的程序文件中输入:DO FORM student
4. 为student表增加一个"年龄"字段,类型为 数值型(2)。
解题思路:ALTER TABLE student ADD COLUMN 年龄 N(2)

二、简单应用(2小题,每题20分,计40分)
1. 改错题
student是一个"学生"表,其中包含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生目录下的 modi1.prg程序文件的功能是显示输出所有政治面目为"群众"的"男"生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。
说明:程序中******ERROR FOUND******的下一行即为错误所在行。请用改
正后的程序行覆盖错误所在行,不要插入或删除任何程序行。
解题思路:
第1处应改为:DO WHILE FOUND()
第2处应改为:LOOP
第3处应改为:CONTINUE
2. 建立命令文件sprog.prg,该命令文件包含如下两条语句:
● 第一条语句使用SQL UPDATE命令计算和更新student表的年龄字段值(计算年龄的表达式是year(date()) - year(出生日期));
● 第二条语句使用SQL SELECT命令查询各种"政治面目"的学生人数和平均年龄,并将结果存储于表sqlresults(字段名是政治面目、人数和平均年龄)。
说明:以上命令文件必须执行,并产生所要求的结果。
解题思路:
在文件sprog.prg中存放下面两条SQL语句:
UPDATE student SET 年龄=year(date())-year(出生日期)
SELECT Student.政

治面目, COUNT(*) AS 人数, AVG(年龄) AS 平均年龄 FROM student GROUP BY Student.政治面目 INTO TABLE sqlresults(在一行中输入)


三、综合应用(1小题,计30分)
考生文件夹下的gnht.dbf是一个合同管理表文件,其中部分字段的含义是:HTH(合同号)、DHDW(订货单位)、GHDW(供货单位)、JHSL(订货数量)。编写程序progzh.prg分别统计订货单位数、供货单位数、订货总数,并将结果填写到jieguo.dbf(在考生目录下已经存在)表文件中。
说明:以上命令文件必须执行,并产生所要求的结果。
解题思路:在文件progzh.prg存放内容如下:
select 1
use jieguo
select 2
use gnht
sum jhsl to asum
index on dhdw to aaa uniq
count to adhdw
index on ghdw to bbb uniq
count to aghdw
use
select 1
replace num with adhdw
skip
replace num with aghdw
skip
replace num with asum
list
use

3套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,完成如下操作:
1. 建立数据库ordersmanage.dbc。把自由表employee.dbf和orders.dbf添加到数据库中。

2. 打开表单dh.scx,设置标签控件中英文字母的字号为18,保存表单。
解题思路:
打开表单 dh ,在“属性”的FontSize处输入“18”。

3. 打开表单dh.scx,为命令按钮"隐藏"添加代码,使表单运行时,单击此按钮隐藏表单上标签控件label1;保存并运行该表单。
解题思路:
打开表单 dh ,双击“隐藏”命令按钮,在其编辑窗口中输入:https://www.wendangku.net/doc/d115421912.html,bel1.visible=.F.

4. 利用报表向导建立一对多报表,以employee表为父表,选择其中职工号、姓名和性别字段;以orders表为子表,选择其全部字段。报表样式为简报式,表之间的关联通过"职工号"字段实现, 排序方式为按职工号降序,报表标题为"职工订单"。报表其他参数取默认值。最后将生成的报表保存为empord.frx。
解题思路:

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,完成如下简单应用:
1. 打开程序文件progerr.prg,按文件中给出的功能要求改正其中的错误,以文件名prognew.prg重新保存该文件并运行程序。
解题思路:
第1处:CREATE view viewes AS SELECT 职工号,SUM(金额) AS 总金额 FROM orders GROUP BY 职工号
第2处:SELECT * FROM viewes WHERE 总金额>=30000 ORDER BY 总金额 DESC INTO DBF newtable

2.建立如图所示顶层表单,表单文件名为myform.scx,表单控件名为myform,表单标题为"顶层表单"。为顶层表单建立菜单mymenu。菜单栏如图所示(无下拉菜单),单击"退出"菜单时,关闭释放此顶层表单,并返回到系统菜单(在过程中完成)。
解题思路:
1.新建菜单,在菜单的“菜单名称”中依次输入:文件、编辑、退出
2.在“退出”主菜单的“结果”

选择“过程”并输入下列语句:
第一句为:myform.release
第二句为:set sysmenu to default
3.单击“显示/常规选项”,在“常规选项”对话框中选中“顶层表单”
4.保存菜单,取名为:mymenu ,最后生成菜单
5.新建表单,取名为: myform
6.单击表单,在属性的ShowWindow处选择“2-作为顶层表单”,在Name处输入:myform ,在Caption处输入:顶层表单
7.双击表单,并输入:do mymenu.mpr with this
8.再将“过程”改为UNLOAD,并输入:release menu


三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用:
1. 打开表单文件sapp,并完成如下操作(不得有多余操作):
● 将"课程"表添加到表单的数据环境中;
● 使列表框List1中的数据项为"课程"表中的课程名(课程.课程名);
● 单击列表框中的数据项时,统计选修了所选课程的学生人数
(从"考试成绩"表),并将结果存储在以课程名命名的表中,表中只有一个字段"人数";
● 添加一个命令按钮Command1,单击该按钮时关闭表单。
说明:完成该程序后必须运行,并且分别统计选修了"数据库"和"操作系统"课程的学生人数。

4套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下打开表单formtest.scx并完成下列操作:
1. 表单标题设置为"考试系统";
2. 在表单上添加一标签控件(Label1),标签上显示"欢迎使用考试系统"8个字,字的颜色为红色(ForeColor=255,0,0),其他属性使用默认值;
3. 向表单内添加一个计时器控件,控件名为Timerfor;
4. 将计时器控件Timerfor的时间间隔(Interval)属性值设为200。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,完成如下简单应用:
1.使用SQL命令在employee表中查询年龄最大的前5名员工的姓名和出生日期,查询结果按年龄降序排序存入表emage.dbf中;同时把所用SQL命令存入文件emage.txt(提示:表中无年龄字段,但是有出生日期字段)。
解题思路:
1.新建查询,添加employee表 ,再单击关闭
2.单击“字段”选项卡,将题中要求字段按顺序添加
3.单击“排序依据”选项卡,选择“出生日期”并升序,接着单击添加
4.单击“杂项”选项卡,在“列在前面的记录”中,把“全部”前面的“勾”去掉,在“记录个数”处输入:5
5.在“查询去向”对话框中,单击“表”按钮,输入:emage ,再单击确定
6.运行查询,单击“查询\查看SQL”菜单项,选中全部语句,按ctrl+c(复制)
7.新建文本文件,在新建的的文本文件中按ctrl+V(粘贴),最后保存文本文件名为: emage.txt

2.打开程序文件cylinder.prg,该程序的功能是根据输入的半径和高计算圆柱体表面积

,其中函数定义中有错误,请在******found*******的下一行进行修改使之能正确运行(不得增加语句,不得删除语句)。
解题思路:第1处:PARAMETERS a,b 第2处:RETURN c


三、综合应用(1小题,计30分)
在考生文件夹下,完成如下综合应用:
建立如图所示表单,表单完成一个计算器的功能。表单文件名和表单控件名均为calculator,表单标题为"计算器"。表单运行时,分别在操作数1(Label1)和操作数2(Label2)下的文本框(分别为Text1和Text2)中输入数字(不接受其他字符输入),通过选项组(Optiongroup1,4个按钮可任意排列)选择计算方法(Option1为"+",Option2为"-",Option3为"*",Option4为"/"),然后单击命令按钮"计算"(Command1),就会在"计算结果"(Label3)下的文本框Text3中显示计算结果, 要求使用DO CASE语句判断选择的计算分类,在CASE表达式中直接引用选项组的相关属性。
注意:所涉及的数字和字母均为半角字符。表单另有一命令按钮(Command2),按钮标题为"关闭",表单运行时单击此按钮关闭并释放表单。


5套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下打开表单文件calculator.scx,并完成下列操作:
1. 设置表单控件名为calculator,保存表单。
解题思路:1.打开表单 calculator ,在“属性”的Name处输入:calculator

2.设置表单内文本控件Text2的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为10(直接使用相关掩码字符设置),保存表单。
解题思路:2.选中Text2控件,在“属性”的InputMask处输入:##########(共10个)

3.设置表单内文本控件Text3为只读控件,保存表单。
解题思路:3.选中Text3控件,在“属性”的ReadOnly处选择“.T.”。

4.为其增加一组如图所示选项按钮组(Optiongroup1),4个按钮依次为"+"、"-"、"*"、"/", 保存表单。
注意:所涉及的数字和字母均为半角字符。
解题思路:4.添加一个“选项按钮组”,选中这个选项按钮组,右击,选择生成器,完成题目要求

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1. 打开程序文件cylinder.prg,请按要求修改程序并运行程序。
解题思路:
第1处应改为:carea=cya(r,h)
第2处应改为:RETURN C

2. 以表employee.dbf和orders.dbf中数据为基础,使用SQL命令检索订单数最多的前三名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表newcoun.dbf,同时将所用SQL命令存入文件new.txt文件。
解题思路:
1.新建查询,先添加employee表 ,再添加order表 ,再单击关闭
2.单击“字段”选项卡,先添加职工号,姓名,再在函数与表达式中输入:count(*) as 订单数 ,再添加

3.单击“排序依据”选项卡,选择“订单数”并选择降序,接着单击添加
4.单击“分组”选项卡,选择“职工号”,添加
5.单击“杂项”选项卡,在“列在前面的记录”中,把“全部”前面的“勾”去掉,在“记录个数”处输入:3
6.在“查询去向”对话框中,单击“表”按钮,输入:newcoun ,再单击确定
7.运行查询,单击“查询\查看SQL”菜单项,选中全部语句,按ctrl+c(复制)
8.新建文本文件,在新建的的文本文件中按ctrl+V(粘贴),最后保存文本文件名为: new.txt


三、综合应用(1小题,计30分)
基于数据库pdtmng建立如图所示顶层表单应用,表单文件名为myform.scx,表单控件名为goods,表单标题为"商品";
1. 表单内含一表格控件Grid1(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示products.dbf中某一类商品数据,RecordSourceType的属性为4(SQL说明);
2. 建立如图所示的菜单(菜单文件名为mymenu.mnx), 其条形菜单的菜单项为"商品分类"和"退出","商品分类"的下拉菜单为"小家电"、"饮料"和"酒类";单击下拉菜单中任何一个菜单命令后,表格控件均会显示该类商品;
3. 在表单的Load事件中执行菜单程序mymenu.mpr;
4. 菜单项"退出"的功能是关闭表单并返回到系统菜单(在过程中完成)。


6套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开Ecommerce数据库,完成如下操作:
1. 首先打开Ecommerce数据库,然后为表Customer增加一个字段,字段名为email、类型为字符、宽度为20。
2. 为Customer表的"性别"字段定义有效性规则,规则表达式为: 性别 $ "男女",出错提示信息为"性别必须是男或女",默认值为"女"。
3. 通过"会员号"字段建立客户表Customer和订单表OrderItem之间的永久联系;通过"商品号"字段建立商品表Article和订单表OrderItem之间的永久联系。
4.为以上建立的联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
解题思路:

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开Ecommerce数据库,完成如下简单应用:
1. 使用SQL命令查询customer数据表中“电话”字段的首字符是“6”、性别为“女”的会员信息,列出姓名、年龄和电话,查询结果按按年龄升序排序存入表temp_cus.dbf中,SQL命令存入文本文件temp_sql.txt中。
解题思路:
1.新建查询,添加commerce表,单击关闭
2.单击“字段”选项卡,选择题中要求字段添加
3.单击“筛选”选项卡,选择字段“Student.性别”, 在条件处选择“=”,在实例处输入:"女" , 在逻辑处选择“and”,移动下一条,再选择“表达式”

操作,输入:left(电话,1) ,在条件处选择“=”,在实例处输入:= "6"
4.单击“排序依据”选项卡,选择字段“年龄”并选中升序添加
5.单击“查询\查询去向”菜单项,单击“表”按钮,输入表名:temp_cus ,单击确定
6.运行查询,单击“查询\查看SQL”菜单项,选中全部语句,按ctrl+c(复制)
7.新建文本文件,在新建的的文本文件中按ctrl+V(粘贴),最后保存文本文件名为: TEMP_SQL.txt

2.使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。视图中包括客户的会员号(来自Customer表)、姓名(来自Customer表)、客户所购买的商品名(来自article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价 * OrderItem.数量),结果按会员号升序排序。
解题思路:
1.打开数据库Ecommerce,新建视图,先添加Customer表,再添加OrderItem表,最后添加article表,再单击关闭
2.单击“字段”选项卡,将题中要求字段按顺序添加,
在“函数和表达式”的文本框输入: Orderitem.单价*Orderitem.数量 AS 金额 ,再单击添加
3.单击“排序依据”选项卡,选择字段“会员号”并选中升序添加
4.运行该视图,并将视图保存,取名为:sb_view


三、综合应用(1小题,计30分)
在考生文件夹下,打开Ecommerce数据库,完成如下综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):首先利用报表向导生成报表文件myreport,包含客户表customer中的全部字段,报表标题为"客户信息",其他各项均取默认值。然后设计一个文件名和表单名均为myform的表单, 表单标题为"客户基本信息"。要求该表单上有"女客户信息"(Command1)、"客户购买商品情况"(Command2)、"输出客户信息"(Command3)和"退出"(Command4)四个命令按钮。
各命令按钮功能如下:
1) 单击"女客户信息"按钮,使用SQL的SELECT命令查询客户表Customer中"女"客户的全部信息。
2) 单击"客户购买商品情况"按钮,使用SQL的SELECT命令查询简单应用中创建的sb_view视图中的全部信息。
3) 单击"输出客户信息"按钮,在屏幕上预览myreport报表文件的内容。
4) 单击"退出"按钮,关闭表单。

7套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,有一个学生数据库SDB,打开该数据库,完成如下操作:
1. 为学生表STUDENT的"性别"字段增加约束:性别 $ "男女",出错提示信息为"性别必须是男或女",默认值为"女";
2. 为学生表STUDENT创建一个主索引,主索引的索引名为sid,索引表达式为学号。为课程表COURSE创建一个主索引,主索引的索引名为cid,索引表达式为课程号。为选课表SC创建一个主

索引和两个普通索引(升序),主索引
的索引名为scid,索引表达式为"学号+课程号";一个普通索引的索引名为sid,索引表达式为学号;另一个普通索引的索引名为cid,索引表达式为课程号;
3. 通过"学号"字段建立选课表SC和学生表STUDENT表间的永久联系。通过"课程号"字段建立选课表SC与课程表COURSE间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。
4. 使用报表向导建立一个简单报表。要求选择学生表STUDENT表中所有字段;记录不分组;报表样式为随意式;列数为"1",字段布局为"列",方向为"纵向";排序字段为"学号",升序;报表标题为"学生基本情况一览表";报表文件名为ONE.FRX。


二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开学生数据库SDB,完成如下简单应用:
1. 使用查询设计器设计一个名称为TWO的查询,查询每个同学的学号(来自STUDENT表)、姓名、课程名和成绩。查询结果先按课程名升序、再按成绩降序排序,查询去向是表,表名是TWO。设计完成后,运行该查询。
解题思路:



2. 修改一个名称为THREE.PRG的命令文件。该命令文件用来查询平均成绩大于等于75分以上的每个"女"同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表THREE中。该命令文件在第2行、第3行、第4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改),打开该命令文件,直接在错误处修改并保存。
注意:修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
解题思路:
第2行:SELECT student.学号,姓名,AVG(成绩) 平均成绩,COUNT(成绩) 选课门数;
第3行:FROM student JOIN sc ON student.学号 = sc.学号;
第4行:WHERE 性别 = "女";
第5行:GROUP BY student.学号 HAVING AVG(成绩) >= 75;


三、综合应用(1小题,计30分)
在考生文件夹下,先打开学生数据库SDB,然后创建一个文件名为form的表单,完成如下综合应用:
在该表单中设计两个命令按钮,各命令按钮的功能如下:
1. "查询"按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令查询每个学生所选的所有课程的成绩都是60分以上(包括60分)的学生的学号、姓名、平均成绩和最低分,并将查询结果按学号升序排序存储到表FOUR中。表FOUR的字段为学号、姓名、平均成绩、最低分。
2. "退出"按钮(Command2):单击"退出"按钮时,关闭表单。表单设计完成后,运行该表单进行查询。

8套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,有一个学生数据库SDB,打开

该数据库,完成如下操作:
1. 在学生表STUDENT中增加一个名为"照片"的字段、字段数据类型为"通用";
2. 在教师表TEACHER中建立一个索引名为"教师号"的主索引(升序),索引表达式为教师号。在课程表COURSE中建立一个普通索引(升序),索引名为"教师号",索引表达式为教师号;
3. 建立选课表SC和学生表STUDENT之间的永久联系;建立选课表SC与课程表COURSE之间的永久联系;建立教师表TEACHER和课程表COURSE之间的永久联系。并为以上建立的联系设置参照完整性约束:更新规则为"级联";删
除规则为"限制";插入规则为"限制"。
4. 使用表单向导建立一个名称为sform的表单。要求选择学生表STUDENT中所有字段;表单样式为阴影式;按钮类型为图片按钮;选定排序字段为学号(升序);表单标题为"学生表数据输入"。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开学生数据库SDB,完成如下简单应用:
1. 使用查询设计器设计一个名称为SVG的查询,查询每个"女"同学的学号(来自STUDENT表)、姓名、课程名、成绩和任课教师(来自Teacher表的教师名),查询结果按学号升序排序并输出到表ONE(查询去向)中。设计完成后,
运行该查询。表ONE中的字段分别为:学号、姓名、课程名、成绩、任课教师。
解题思路:
1.新建查询,先添加student表,再添加sc表,再添加course表,最后添加teacher表,单击关闭
2.单击“字段”选项卡,选择题中要求字段添加
3.单击“筛选”选项卡,选择字段“Student.性别”, 在条件处选择“=”,在实例处输入:"女"
4.单击“排序依据”选项卡,选择字段“Student.学号”并选中升序添加
5.单击“查询\查询去向”菜单项,单击“表”按钮,输入表名:one ,单击确定
6.最后运行查询,保存查询,取名为:SVG

2. 在考生文件夹下,使用快捷菜单设计器设计一个名称为SMENU的快捷菜单。要求如下:
菜单包括"数据浏览"和"退出"两个菜单项:
⑴ "数据浏览"菜单包括"学生表"、"选课表" 和"课程表"三个子菜单:
① 学生表子菜单在过程中使用SQL语句"SELECT * FROM STUDENT"查询学生表的记录。
② 选课表子菜单在过程中使用SQL语句"SELECT * FROM SC"查询学生选课表的记录。
③ 课程表选项在过程中使用SQL语句"SELECT * FROM COURSE"查询课程表的记录。
⑵ "退出"菜单使用命令返回系统默认的菜单。
解题思路:
1.新建菜单,再选择“快捷菜单”按钮
2.在菜单的“菜单名称”中依次输入:数据浏览、退出
3.选择“数据浏览”菜单项,在“结果”选择子菜单,单击创建,在“菜单设计器”中,输入三个子菜单项:学生表、选课表、课程表
4.在学生表

子菜单“结果”选择“过程”,输入:SELECT * FROM STUDENT
5.在选课表子菜单“结果”选择“过程”,输入:SELECT * FROM SC
6.在课程表子菜单“结果”选择“过程”,输入:SELECT * FROM COURSE
7. 在“退出”主菜单的“结果”选择“过程”,输入: set sysmenuto default
8.保存菜单,取名为:smenu ,最后生成菜单


三、综合应用(1小题,计30分)
在考生文件夹下,先打开学生数据库SDB,然后创建文件名为tform的表单,完成如下综合应用:
在该表单中设计两个命令按钮,各命令按钮的功能如下:
⑴ "查询"按钮(Command1):在该按钮的"Click"事件中使用SQL的SELECT命令查询选课数量大于等于4门且平均成绩大于等于75分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 TWO中。表TWO中的字段名分别为:学号、姓名、平均成绩、选课门数。
⑵ "退出"按钮(Command2):单击"退出"按钮时,关闭表单。表单设计完成后,运行该表单,点击"查询"按钮进行查询。

9套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开顾客数据库CDB,完成如下操作:
1. 在会员表CUS中增加一个字段,字段名为手机号,数据类型为"字符",宽度为11;在会员购货明细表CBC中分别给"数量"和"单价"字段设置有效性规则,要求:数量大于等于1,默认值为1;单价大于等于1,默认值为1;
2. 在会员购货明细表CBC中创建一个主索引,索引名为cbc,对应的索引表达式为会员号、商品号和日期字段的组合(会员号+商品号+DTOC(日期));注意,日期字段是日期型数据类型,在索引表达式使用DTOC函数将日期字段转换为字符型。
3. 在会员购货明细表CBC中创建两个普通索引(升序),索引名分别为会员号和商品号,对应索引表达式分别为会员号和商品号。建立会员表CUS与会员购货明细表CBC之间的永久联系;建立商品表COMM与会员购货明细表CBC之间的永久联系。
4. 使用SQL的SELECT语句查询会员表CUS中会员号、会员名和单位字段,将查询结果存储为NCUS表,并将SQLSELECT语句存储到名为ONE.PRG的文件中。
解题思路:
SELECT 会员号,会员名,单位 FROM CUS INTO TABLE NCUS

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开会员数据库CDB,完成如下简单应用:
1. 使用查询设计器设计一个名称为TWO的查询,查询2003年会员购买商品的情况,将结果按会员号排序(升序)并输出(查询去向)到TWO表中。TWO表中的字段名分别为:会员号、会员名、商品名、金额,其中:会员号来自会员表
CUS,金额通过"数量*单价"计算。设计完成后,运行该查询。
解题思路:
1.新

建查询,先添加cus表,再添加cbc表,最后添加comm表,再按确定
2.单击“字段”选项卡,选择题中要求字段添加
3.单击“筛选”选项卡,选择“表达式”操作,输入:Year(Cbc.日期) ,在条件处选择“=”,在实例处输入:2003
4.单击“排序依据”选项卡,选择字段“Cus.会员号”并选中升序添加
5.在“查询去向”对话框,单击“表”按钮,输入表名:two ,单击确定
6.运行此查询,并保存查询取名为:two

2. 修改一个名称为THREE.PRG的命令文件。该命令文件查询累计消费金额在5000元以上、每次购买数量大于或等于10的"女"会员的会员号、会员名、单位和电话,结果输出到表THREE中。该命令文件在第3行、第6行、第7行有错误,
打开该命令文件,直接在错误处修改,不允许增加和删除行。修改完成后,运行该命令文件。
解题思路:
第3行:WHERE 性别 = "女" and 会员号 =ANY;
第6行:WHERE 数量 >= 10;
第7行:GROUP BY 会员号 HAVING SUM(数量*单价) >= 5000);


三、综合应用(1小题,计30分)
在考生文件夹下,打开会员数据库CDB,完成如下综合应用:
1. 建立文件名为form的表单,在表单中设计"统计"和"退出"两个按钮。
要求如下:
⑴ 在"统计"按钮(Command1)中,编写程序,根据会员到统计时(系统当前时间)所购买商品的总金额(数量*单价),确定该会员为"金卡"、"银卡"、"铜卡"或"普通"会员,并将其写入会员表CUS的"会员类型"字段中。
金卡会员,总金额 >= 15000元;
银卡会员,总金额 < 15000元 AND >= 10000元;
铜卡会员,总金额 < 10000元 AND >= 5000元;
普通会员,总金额 < 5000元
⑵ 单击"退出"按钮(Command2)时,关闭表单。
⑶ 表单设计完成后,运行表单,单击"统计"按钮进行统计,然后单击
"退出"按钮关闭表单。


10套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开招生数据库SDB,完成如下操作:
1. 在KSB表中增加一个名为"备注"的字段、字段数据类型为"字符"、宽度为30;
2. 在考生成绩表KSCJB中给成绩字段设置有效性规则和默认值,成绩 >=0 AND成绩 <= 150;默认值为0;
3. 通过"考生号"字段建立KSB表和KSCJB表间的永久联系,并为该联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"忽略"。
4. 使用报表向导建立一个简单报表。要求选择考生表KSB中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为"列",方向为"纵向";排序字段为"考生号"(升序);报表标题为"考生成绩一览表";报表文件名为ONE.FRX。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开招生数据库SDB,完成如下简单应

用:
1. 使用一对多表单向导选择KSB表和KSCJB表生成一个名为TWO的表单。要求从父表KSB中选择所有字段,从子表KSCJB中选择所有字段,使用"考生号"建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自KSB),升序;表单标题为"考生数据输入维护"。
解题思路:
1. 单击“文件\新建\表单”菜单项,并显示“向导选取”对话框。
2. 在“向导选取”对话框中,选择“一对多表单向导”并单击“确定”按钮,并显示“一对多表单向导”对话框。
3. 在“一对多表单向导”对话框的“步骤1-从父表中选定字段”中,首先要选取表“ksb”,在“数据库和表”列表框中,选择表“ksb”,接着在“可用字段”列表框中显示表ksb的所有字段名,并选定所有字段名,再单击“下一步”按钮。
4. 在“一对多表单向导”对话框的“步骤2-从子表中选定字段”中,选取表“kscjb”,在“数据库和表”列表框中,选择表“kscjb”,接着在“可用字段”列表框中显示表kscjb的所有字段名,并选定所有字段名,再单击“下一步”按钮。
5. 在“一对多表单向导”对话框的“步骤3-建立表之间的关系”中,再单击“下一步”按钮。
6. 在“一对多表单向导”对话框的“步骤4-选择表单样式”中,在“样式”中选择“阴影
式”,在“按钮类型”中选择“图片按钮”,再单击“下一步”按钮。
7. 在“一对多表单向导”对话框的“步骤5-排序次序”中,选定“学生号”字段并选择“升
序”,再单击“添加”按钮,再单击“下一步”按钮。
6. 在“一对多表单向导”对话框的“步骤6-完成”中,在“请输入表单标题”文本框中输
入“考生数据输入维护”,再单击“完成”。
7. 在“另存为”对话框中,输入保存表单名“two”,再单击“保存”按钮,最后表单就生成了。

2. 在考生文件夹下打开命令文件THREE.PRG,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表THREE中。
注意,该命令文件在第3行、第6行、第9行有错误,打开该命令文件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。
解题思路:
第3行:INTO ARRAY tem
第6行:WHERE not exists;
第9行:WHERE 成绩 < tem(1) and 考生号 = ksb.考生号);


三、综合应用(1小题,计30分)
在考生文件夹下,打开招生数据库SDB,完成如下综合应用:
1. 创建文件名为form的表单,将表单标题改为:录取研究生。
2. 在表单中设计"录取"和"退出"两个按钮。两个按钮功能分别如下:
⑴ 在"录取"按钮(Command1)中,编写程序,查询总成绩大

于或等于330分的考生的考生号、姓名、性别、单位和该生的政治成绩、外语成绩、高数成绩(即高等数学成绩)、专业课成绩、总成绩,并将结果按总成绩降序排序存储到表FOUR中。表FOUR(需要自己创建或生成)的字段名为:考生号、姓名、性别、单位、政治成绩、外语成绩、高数成绩、专业课成绩、总成绩(各成绩字段的类型为N(5,1),其他字段的类型与原表中一致)。
⑵ 单击"退出"按钮(Command2)时,关闭表单。
3. 表单设计完成后,运行表单,单击"录取"按钮进行统计,然后单击"退出"按钮关闭表单。
注:在考试科目代码表DM中存储了各考试科目与考试科目名对应关系。

11套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,完成如下操作:
1. 将当前文件夹下的自由表CLASS(班级表)和EACHER(教师表)添加到学生数据库SDB中;
2. 为班级表CLASS创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。为教师表TEACHER创建一个主索引,索引名和索引表达式均为教师号;
3. 通过"班级号"字段建立班级表CLASS和学生表STUDENT表间的永久联系。通过班级表CLASS的"班主任号"字段与教师表TEACHER的"教师号"字段建立班级表CLASS和教师表TEACHER间的永久联系;
4. 为以上建立的两个联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"限制"。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开学生数据库SDB,完成如下简单应用:
1.使用报表向导建立一个简单报表。要求选择STUDENT表中所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为"列",方向为"纵向";排序字段为"学号"(升序);报表标题为"学生基本情况一览表";报表文件名为TWO。
解题思路:
1.单击“文件\新建\报表”菜单项,并显示“向导选取”对话框。
2.在“向导选取”对话框中,选择“报表向导”并单击“确定”按钮,并显示“报表向导”对话框。
3.在“报表向导”对话框的“步骤1-字段选取”中,首先要选取表“student”,在“数据库和表”列表框中,选择表“student”,接着在“可用字段”列表框中显示表student的所有字段名,并选定所有字段名至“选定字段”列表框中,单击“下一步”按钮。
4.在“报表向导”对话框的“步骤2-分组记录”中,单击“下一步”按钮。
5.在“报表向导”对话框的“步骤3-选择报表样式”中,在“样式”中选择“随意式”,单击“下一步”按钮。
6.在“报表向导”对话框的“步骤4-定义报表布局”中,在“列数”处选择为“1”,

在“方向”处选择“纵向”,在“字段布局”处选择“列”,单击“下一步”按钮。
7.在“报表向导”对话框的“步骤5-排序次序”中,选定“学号”字段并选择“升序”,再单击“添加”按钮,单击“完成”按钮。
8.在“报表向导”对话框的“步骤6-完成”中,在“报表标题”文本框中输入“学生基本情况一览表”,单击“完成”。
9.在“另存为”对话框中,输入保存报表名“two”,再单击“保存”按钮,最后报表就生成了。

2. 使用查询设计器设计一个查询,查询每个班级的班级号、班级名、班长名和班主任名,查询结果按班级号升序排序,并输出到ONE表中。运行该查询,并将设计的查询保存为ONE.QPR文件。
注意:
① 表之间的关联,一个是STUDENT表的学号与CLASS表的班长号,另一个是CLASS表的班主任号与TEACHER表的教师号;
② 查询结果的各列的名称分别为班级号、班级名、班长名和班主任名。班长名列的数据来自于STUDENT表的姓名,班主任名列的数据来自于TEACHER表的教师名。
解题思路:
1.新建查询,先选择class表,再选择teacher表,最后选择student表,再按关闭
2.单击“字段”选项卡,将题中要求字段按顺序添加,
在“函数和表达式”输入:Student.姓名 AS 班长名 ,单击添加,再在“函数和表达式”输入:Teacher.教师名 AS 班主任名 ,再单击添加
3.单击“排序依据”选项卡,选择字段“Class.班级号”并选中升序添加
4.在“查询去向”对话框中,单击“表”按钮,输入表名:one ,单击确定
5.最后运行此查询,并保存查询文件,取名为:one


三、综合应用(1小题,计30分)
在考生文件夹下,打开学生数据库SDB,完成如下综合应用:
设计一个表单名为form的表单,表单文件名为THREE,表单的标题名为"学生基本信息浏览"。在表单的左上方有一个标签(Label1),标签上的文字为"班级号";在标签的右边紧接着放置一个组合框控件(Combo1),将组合框控件的Style属性设置为"下拉列表框",RowSourceType属性设置为"字段"(用来选择CLASS表中的班级号);在组合框的右边紧接着放置一个"确认"命令按钮(Command2);在标签的下方放置一个表格控件(Grid1),将RecordSourceType属性设置为"4-SQL说明";在表单的右下方放置一个"退出"命令按钮(Command1)。表单界面如图所示。其他功能要求如下:
1. 为表单建立数据环境,向数据环境添加STUDENT表(cursor1)和CLASS表(cursor2)。
2. 程序运行时,在组合框中选择某个班级的班级号,单击"确认"按钮后在表格中显示该班级的学生信息。
3. 单击"退出"按钮时,关闭表单。


12套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考

生文件夹下,完成如下操作:
1. 创建一个名为Sproject的项目文件;
2. 将考生文件夹下的学生数据库SDB添加到新建的项目文件中;
3. 打开学生数据库SDB,将考生文件夹下的自由表TEACHER添加到学生数据库SDB中;为教师表TEACHER创建一个索引名和索引表达式均为教师号的主索引 (升序);为班级表CLASS创建一个索引名和索引表达式均为班主任号的普通索引(升序);
4. 通过"班级号"字段建立班级表CLASS和学生表STUDENT表间的永久联系。通过级表CLASS的"班主任号"字段与教师表TEACHER的"教师号"字段建立班级表CLASS和教师表TEACHER间的永久联系。

二、简单应用(2小题,每题20分,计40分)
1. 在考生文件夹下使用菜单设计器设计一个名称为SMENU的下拉式菜单。
要求如下:
菜单包括"数据浏览"和"退出"两个菜单栏。
①数据浏览菜单栏包括"学生表"和"课程表"两个选项:
学生表选项在过程中使用SQL语句"SELECT * FROM STUDENT"查询学生表STUDENT的记录。课程表选项在过程中使用SQL语句"SELECT * FROM COURSE"查询课程表COURSE的记录。
②退出菜单栏包括"返回到系统菜单"一个选项:返回系统菜单选项在过程中使用命令返回系统默认的菜单。
解题思路:
1.单击“文件\新建”命令项。
2.在“新建”对话框中选择“菜单”单选钮,再按“新建文件”按钮。
3.在“新建菜单”对话框中选择“菜单”按钮,在菜单设计器中的“菜单名称”中依次输入“数据浏览”和“退出”这两个主菜单项,选择“数据浏览”菜单项,在“结果”中选择“子菜单”,单击“创建”按钮,在“菜单设计器”中,输入两个子菜单项“学生表”和“课程表”。选择“退出”菜单项,在“结果”中选择“子菜单”,单击“创建”按钮,在“菜单设计器”中,输入一个子菜单项“返回到系统菜单”。
4.在“学生表”子菜单的“结果”选择“过程”并输入命令下列语句SELECT * FROM STUDENT
5.在“课程表”子菜单的“结果”选择“过程”并输入命令下列语句SELECT * FROM COURSE
6.在“退出”主菜单的“结果”选择“过程”并输入下列命令 set sysmenuto default
7.单击工具栏上“保存”按钮,在弹出“保存”对话框中输入“smenu”即可。
8.在“菜单设计器”窗口下,单击“菜单”菜单栏,选择“生成”菜单项,生成“smenu.mpr”文件。

2. 在考生文件夹下打开命令文件ONE.PRG,该命令文件用来建立一个名称为S_VIEW的视图,视图查询学生的班级号、班级名、姓名、性别和班主任名(来自TEACHER表的教师名)。命令文件只包含两条语句,第1条语句有一个错误,第2条语句有两个错误,请修改之,并运行。注意,修改时不可改变SQL

语句的结构和短语的顺序,不允许增加或合并行。
解题思路:
第1行:OPEN DATABASE sdb
第2行:CREATE VIEW S_VIEW AS;
第5行:WHERE Student.班级号=Class.班级号 AND Teacher.教师号=Class.班主任号


三、综合应用(1小题,计30分)
在考生文件夹下,打开学生数据库SDB,完成如下综合应用:
设计一个表单名为sform的表单,表单文件名为SDISPLAY,表单的标题为"学生课程教师基本信息浏览"。表单上有一个包含三个选项卡的页框(Pageframe1)控件和一个"退出"按钮(Command1)。其他功能要求如下:
1. 为表单建立数据环境,向数据环境依次添加STUDENT表(cursor1)、COURSE表(cursor2)和TEACHER表(cursor3)。
2. 要求表单的高度为280,宽度为450;表单显示时自动在主窗口内居中。
3. 三个选项卡的标签的名称分别为"学生表"(Page1)、"课程表"(Page2)和"教师表"(Page3),每个选项卡分别以表格形式浏览学生表(grdStudent)、课程表(grdCourse)和教师表(grdTeacher)的信息。选项卡位于表单的左边距为18,顶边距为10,选项卡的高度为230,宽度为420。
4. 单击"退出"按钮时关闭表单。

13套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,有一个资源数据库,该数据库有资源表FR_T、农户表P_T和树种表TREE_T三个表。其中,资源表FR_T存储了全乡农民承包的土地编号、户主编号、小地名、面积、树种编号、蓄积(生长在山上的树的木材体积)和承包年度。打开资源数据库FRDB,完成如下操作:
1. 在农户表P_T中增加一个字段名"继承人"、数据类型为"字符"、宽度为8的字段;
2. 设置资源表FR_T中"面积"字段的有效性规则:面积大于等于1,小于等于100,默认值为10;"蓄积"字段的有效性规则: 蓄积大于等于0,小于等于200,默认值为100;(注意:表达式应写成 面积>=1.AND.面积<=100, 蓄积>=0.AND.蓄积<=200)
3. 为资源表FR_T创建两个普通索引(升序),索引名分别为"户主编号"和"树种编号",对应的索引表达式分别为"户主编号"和"树种编号";
4. 通过"户主编号"字段建立资源表FR_T和农户表P_T间的永久联系;通过"树种编号"字段建立资源表FR_T和树种表TREE_T间的永久联系。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开资源数据库FRDB,完成如下简单应用:
1. 使用表单向导选择资源表FR_T生成一个名为FR_EDIT的表单。要求选择FR_T表中所有字段,样式为阴影式;按钮类型为图片按钮;排序字段选择户主编号(升序);表单标题为"资源数据输入维护"。
解题思路:
1. 单击“文件\新建\表单”菜单项,并显示“向导选取”对话框。
2. 在“向导选取”对话框中,选择“表单向导”并单击“确定”按钮

,并显示“表单向导”对话框。
3. 在“表单向导”对话框的“步骤1-字段选取”中,首先要选取表“fr_t”,在“数据库和表”列表框中,选择表“fr_t”,接着在“可用字段”列表框中显示表fr_t的所有字段名,并选定所有字段名,再单击“下一步”按钮。
4. 在“表单向导”对话框的“步骤2-选择表单样式”中,在“样式”中选择“阴影式”,在“按钮类型”中选择“图片按钮”,再单击“下一步”按钮。
5. 在“表单向导”对话框的“步骤3-排序次序”中,选定“户主编号”字段并选择“升序”,再单击“添加”按钮,再单击“下一步”按钮。
6. 在“表单向导”对话框的“步骤4-完成”中,在“请输入表单标题”文本框中输入“资源数据输入维护”,再单击“完成”。
7. 在“另存为”对话框中,输入保存表单名“fr_edit”,再单击“保存”按钮,最后表单就生成了。

2. 使用查询设计器设计一个查询one,按户主编号(取自fr_t表),树种名称(取自Tree_t表)分组汇总每个农户的面积(取自fr_t表)和蓄积(取自fr_t表),查询结果按户主编号升序排序,并输出到ONE表中。ONE表中的字段为户主编号、树种名称、面积合计、蓄积合计。注意:查询设计完成后必须运行。
解题思路:
1.新建查询,先添加fr_t , 再添加tree_t表, 再按关闭
2.单击“字段”选项卡,将题中要求字段按顺序添加,
在“函数和表达式”输入:SUM(Fr_t.面积) AS 面积合计 ,再单击添加,
在“函数和表达式”输入:SUM(Fr_t.蓄积) AS 蓄积合计 ,再单击添加
3.单击“排序依据”选项卡,选择字段“Fr_t.户主编号”并选中升序添加
4.单击“分组依据”选项卡,选择字段“Fr_t.户主编号”添加,再选择字段“Tree_t.树种名称”添加
5.在“查询去向”对话框,单击“表”按钮,输入表名:one ,单击确定
6.最后运行查询,并保存查询取名为:one


三、综合应用(1小题,计30分)
在考生文件夹下,打开资源数据库FRDB,完成如下综合应用:
设计一个表单名为form、表单文件名为FR_SHOW、表单标题名为"农户资源数据浏览"的表单,其表单界面如图所示。其他要求如下:
1. 为表单建立数据环境,向数据环境依次添加FR_T表(Cursor1)、P_T表(Cursor2)和TREE_T表(Cursor3)。
2. 当在"户主编号"(Label1)标签右边的文本框(Text1)中输入户主编号并单击"查询"(Command1)按钮时,将在右边的表格控件(Grid1)内显示该农户承包的土地编号、小地名、面积、树种编号、蓄积和承包年度信息(均取自FR_T表),并在左边相应的文本框中显示该农户的姓名(Text2)、年龄(Text3)、性别(Text4)和家庭地址(Text5)(均取自P_T表)。
3. 单击"退出"(Command2)按钮

时,关闭表单。
要求:① 表格(Grid1)控件的RecordSourceType属性设置为"4-SQL说明";
② 使用SQL的SELECT语句将根据输入的户主编号查询到的姓名、年龄、性别和家庭地址数据存放到一维数组tmp中,并将tmp数组诸元素的值赋值到各文本框。

14套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开一个公司销售数据库SELLDB,完成如下操作:
1. 为各部门分年度季度销售金额和利润表S_T创建一个主索引和普通索引(升序),主索引的索引名为NO,索引表达式为"部门号+年度";普通索引的索引名和索引表达式均为部门号;
2. 在S_T表中增加一个名为"备注"的字段、字段数据类型为"字符"、宽度为30;
3. 使用SQL的ALTER TABLE语句将S_T表的年度字段的默认值修改为"2004",并将该SQL语句存储到命令文件ONE.PRG中;
解题思路:ALTER TABLE s_t ALTER 年度 SET DEFAULT "2004"

4. 通过"部门号"字段建立S_T表和DEPT表间的永久联系,并为该联系设置参照完整性约束:更新规则为"级联";删除规则为"限制";插入规则为"忽略"。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开公司销售数据库SELLDB,完成如下简单应用:
1. 使用一对多表单向导生成一个名为SD_EDIT的表单。要求从父表DEPT中选择所有字段,从子表S_T表中选择所有字段,使用"部门号"建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为部门号(升序);表单标题为"数据输入维护"。
解题思路:
1. 单击“文件\新建\表单”菜单项,并显示“向导选取”对话框。
2. 在“向导选取”对话框中,选择“一对多表单向导”并单击“确定”按钮,并显示“一对多表单向导”对话框。
3. 在“一对多表单向导”对话框的“步骤1-从父表中选定字段”中,首先要选取表“dept”,在“数据库和表”列表框中,选择表“dept”,接着在“可用字段”列表框中显示表dept的所有字段名,并选定所有字段名,再单击“下一步”按钮。
4. 在“一对多表单向导”对话框的“步骤2-从子表中选定字段”中,选取表“s_t”,在“数据库和表”列表框中,选择表“s_t”,接着在“可用字段”列表框中显示表s_t的所有字段名,并选定所有字段名,再单击“下一步”按钮。
5. 在“一对多表单向导”对话框的“步骤3-建立表之间的关系”中,再单击“下一步”按钮。
6. 在“一对多表单向导”对话框的“步骤4-选择表单样式”中,在“样式”中选择“阴影式”,在“按钮类型”中选择“图片按钮”,再单击“下一步”按钮。
7. 在“一对多表单向导”对话框的“步骤5-排序次序”中,选定“部门号”字段

并选择“升序”,再单击“添加”按钮,再单击“下一步”按钮。
6. 在“一对多表单向导”对话框的“步骤6-完成”中,在“请输入表单标题”文本框中输入“数据输入维护”,再单击“完成”。
7. 在“另存为”对话框中,输入保存表单名“sd_edit”,再单击“保存”按钮,最后表单就生成了。

2. 在考生文件夹下打开命令文件TWO.PRG,该命令文件用来查询各部门的分年度的部门号、部门名、年度、全年销售额、全年利润和利润率(全年利润/全年销售额),查询结果先按年度升序、再按利润率降序排序,并存储到S_SUM表中。
注意,程序在第5行、第6行、第8行和第9行有错误,请直接在错误处修改。
修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
解题思路:
第5行:(一季度利润+二季度利润+三季度利润+四季度利润)/(一季度销售额+二季度销售额+三季度销售额+四季度销售额) AS 利润率; (在同一行中输)
第6行:FROM S_T,DEPT;
第8行:ORDEY BY 年度,利润率 DESC;
第9行:INTO TABLE S_SUM


三、综合应用(1小题,计30分)
在考生文件夹下,打开公司销售数据库SELLDB,完成如下综合应用:设计一个表单名为Form_one、表单文件名为SD_SELECT、表单标题名为"部门年度数据查询"的表单,其表单界面如图所示。其他要求如下:
1. 为表单建立数据环境,向数据环境添加S_T表(Cursor1)。
2. 当在"年度"标签右边的微调控件中(Spinner1)选择年度并单击"查询"按钮(Command1)时,则会在下边的表格(Grid1)控件内显示该年度各部门的四个季度的销售额和利润。指定微调控件上箭头按钮(SpinnerHighValue属性)与下箭头按钮(SpinnerLowValue属性)值范围为2010-1999,缺省值(Value属性)为2003,增量(Increment属性)为1。
3. 单击"退出"按钮(Command2)时,关闭表单。
要求:表格控件的RecordSourceType属性设置为"4-SQL说明"。

15套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下完成下列操作:
1. 用命令新建一个名为"外汇"的数据库,并将该命令存储于one.txt中;
2. 将自由表"外汇汇率"、"外汇账户"、"外汇代码"加入到新建的"外汇"数据库中;
3. 用SQL语句在"外汇"数据库中新建一个数据库表rate,其中包含4个字段“币种1代码” C(2)、“币种2代码”C(2)、“买入价”N(8,4)、“卖出价”N(8,4),请将SQL语句存储于two.txt中。
解题思路:
3.CREATE TABLE rate (币种1代码 C(2), 币种2代码 C(2), 买入价 N(8,4), 卖出价 N(8,4))

4. 表单文件test_form中有一个名为form1的表单(如图),请将编辑框控件Edit1的滚动条去掉。
解题思路:
4. 打开表单 test_form,单击表单,在“属性”的ScrollBars处选择“0-无

”。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1.da完成下列操作:根据"外汇汇率"表中的数据产生rate表中的数据。
要求:将所有"外汇汇率"表中的数据插入rate表中并且顺序不变,由于"外汇汇率"中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应该存放外币代码,所以插入时要做相应的改动,外币名称与外币代码的对应关系存储在"外汇代码"表中。
注意:程序必须执行一次,保证rate表中有正确的结果。
解题思路:
在程序中输入:
SELECT 外汇代码.外币代码 AS 币种1代码,外汇代码_a.外币代码 AS 币种2代码,买入价,卖出价;
FROM 外汇代码 JOIN 外汇汇率 JOIN 外汇代码 as 外汇代码_a ;
ON 外汇汇率.币种2 = 外汇代码_a.外币名称 ;
ON 外汇代码.外币名称 = 外汇汇率.币种1;
INTO TABLE rate.dbf

2. 使用查询设计器建立一个查询文件four.qpr。查询要求:从外汇帐户中查询日元和欧元的记录。查询结果包括了外币名称、钞汇标志、金额,结果按外币名称升序排序,在外币名称相同的情况下按金额降序排序,并将查询结果存储于表five.dbf 中。
解题思路:
1.新建查询,先添加“外汇帐户”表,再添加“外汇代码”表,再按关闭按钮
2.单击“字段”选项卡,将题中要求字段按顺序添加
3.单击“筛选”选项卡,在字段名处选择“外汇代码.外币名称”,在条件处选择“=”,在实例处输入:"日元",在逻辑处选择“OR”,再在字段名处选择“外汇代码.外币名称”,在条件处选择“=”,在实例处输入:"欧元"
4.单击“排序依据”选项卡,选择字段“外汇代码.外币名称”并选中升序添加,再选择字段“外汇帐户.金额”并选中降序添加
5.在“查询去向”对话框,单击“表”按钮,输入表名:five ,单击确定
6.最后运行查询,并保存查询取名为:four


三、综合应用(1小题,计30分)
设计一个文件名和表单名均为myaccount的表单。表单的标题为"外汇持有情况"。表单中有一个选项按钮组控件(myOption)、一个表格控件(Grid1)以及两个命令按钮"查询"(Command1)和"退出"(Command2)。其中,选项按钮组控件有两个按钮"现汇"(Option1)、"现钞"(Option2)。运行表单时,首先在选项组控件中选择"现钞"或"现汇",单击"查询"命令按钮后,根据选项组控件的选择将"外汇账户"表的"现钞"或"现汇"(根据钞汇标志字段确定)的情况显示在表格控件中。单击"退出"按钮,关闭并释放表单。
注:在表单设计器中将表格控件Grid1的数据源类型设置为"SQL说明"。

16套:
一、基本操作题(第1和2题是7分、第3和4题是8分)
在考生文件夹下完成

相关文档
相关文档 最新文档