44
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下完成如下操作:
1,建立菜单QUERY_MENU。该菜单只有"查询"和"退出"两个主菜单项(条形菜单),其中单击菜单项"退出"时,返回到VFP系统菜单(相应命令写在命令框中,不要写在过程中)。
2,将COURSE表的"开课系部"字段名改为"开课单位",其余不变。
3,从数据库SCORE_MANAGER中移去表TEMP2.DBF(不是删除)。
4,将SCORE1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结果存入表NEW_ORDER。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,在SCORE_MANAGER数据库中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表NEW_TABLE中,表中只有一个字段,字段名为学生人数。
2,在SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含"课程名"和"开课单位"字段,结果按课程名升序保存在一个新表NEW_TABLE2中(注意:字段名"开课单位"是在基本操作中根据"开课系部"修改后的字段名)。
三、综合应用(1小题,计30分)
SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。
为了对SCORE_MANAGER数据库数据进行查询,设计一个表单Myform3(控件名为form1,表单文件名为Myform3)。表单标题为"成绩查询";表单有"查询"(名称为Command1)和"退出"(名称为Command2)两个命令按钮。表单运行时,单击"查询"按钮,查询每门课程的最高分,查询结果中含"课程名"和"最高分"字段,结果按课程名升序保存在表NEW_TABLE3。
单击"退出"按钮,关闭表单。
45
一、基本操作题(共4小题,第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的记录。
②退出菜单栏包括"返回到系统菜单"一个选项:
返回系统菜单选项在过程中使用命令返回系统默认的菜单。
2,在考生文件夹下打开命令文件ONE.PRG,该命令文件用来建立一个名称为S_VIEW的视图,视图查询学生的班级号、班级名、姓名、性别和班主任名(来自TEACHER表的教师名)。命令文件只包含两条语句,第1条语句有一个错误,第2条语句有两个错误,请修改之,并运行。
注意,修改时不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
三、综合应用(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,单击"退出"按钮时关闭表单。
46
一、基本操作题(共4小题,第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的记录。
②退出菜单栏包括"返回到系统菜单"一个选项:
返回系统菜单选项在过程中使用命令返回系统默认的菜单。
2,在考生文件夹下打开命令文件ONE.PRG,该命令文件用来建立一个名称为S_VIEW的视图,视图查询学生的班级号、班级名、姓名、性别和班主任名(来自TEACHER表的教师名)。命令文件只包含两条语句,第1条语句有一个错误,第2条语句有两个错误,请修改之,并运行。
注意,修改时不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
三、综合应用(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,单击"退出"按钮时关闭表单。
47
一、基本操作题(共4小题,第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中。
4,表单文件test_form中有一个名为form1的表单(如图),请将编辑框控件Edit1的滚动条去掉。

二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,编写程序three.prg完成下列操作:根据"外汇汇率"表中的数据产生rate自由表中的数据。
要求:将所有"外汇汇率"表中的数据插入rate表中并且顺序不变,由于"外汇汇率"中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应该存放外币代码,所以插入时要做相应的改动,外币名称与外币代码的对应关系存储在"外汇代码"表中。
注意:程序必须执行一次,保证rate表中有正确的结果。
2,使用查询设计器建立一个查询文件four.qpr。查询要求:外汇帐户中有多少日元和欧元。查询结果包括了外币名称、钞汇标志、金额,结果按外币名称升序排序,在外币名称相同的情况下按金额降序排序,并将查询结果存储于表five.dbf 中。
三、综合应用(1小题,计30分)
设计一个文件名和表单名均为myaccount的表单。表单的标题为"外汇持有情况"。表单中有一个选项按钮组控件(myOption)、一个表格控件(Grid1)以及两个命令按钮"查询"(Command1)和"退出"(Command2)。其中,选项按钮组控件有两个按钮"现汇"(Option1)、"现钞"(Option2)。
运行表单时,首先在选项组控件中选择"现钞"或"现汇",单击"查询"命令按钮后,根据选项组控件的选择将"外汇账户"表的"现钞"或"现汇"(根据钞汇标志字段确定)的情况显示在表格控件中。
单击"退出"按钮,关闭并释放表单。
注:在表单设计器中将表格控件Grid1的数据源类型设置为"SQL说明"。
48
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成如下操作:
1,建立项目"超市管理";并把"商品管理"数据库加入到该项目中。
2,为商品表增加字段:销售价格N(6,2),该字段允许出现"空"值,默认值为.NULL.。
3,为"销售价格"字段设置有效性规则:销售价格>0;出错提示信息是:"销售价格必须大于零"。
4,用报表向导为商品表创建报表:报表中包括商品表中全部字段,报表样式用"经营式",报表中数据按商品编码升序排列,报表文件名report_a.frx。其余按缺省设置。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,使用SQL命令查询2001年(不含)以前进货的商品,列出其分类名称、商品名称、进货日期,查询结果按进货日期升序排序并存入文本文件infor_a.txt中;所用命令存入文本文件cmd_aa.txt中;
2,用SQL UPDATE命令为所有商品编码首字符是"3"的商品计算销售价格:销售价格为在进货价格基础上加22.68%,并把所用命令存入文本文件cmd_ab.txt中。
三、综合应用(1小题,计30分)
建立表单,表单文件名和表单名均为myform_a,表单标题为"商品浏览",表单样例如图所示(左图)。

其它功能要求如下:
1,用选项按钮组(OptionGroup1)控件选择商品分类(饮料(Option1)、调味品(Option2)、酒类(Option3)、小家电(Option4));
2,单击"确定"(Command2)命令按钮,显示选中分类的商品,要求使用DO CASE语句判断选择的商品分类(如右图所示);
3,在右图所示界面中按Esc键返回左图所示界面;
4,单击"退出"(Command1)命令按钮,关闭并释放表单。
注:选项按钮组控件的Value属性必须为数值型。
49
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生目录下打开表单文件calculator.scx,并完成下列操作:
1.设置表单控件名为calculator,保存表单。
2.设置表单内文本控件Text2的输入掩码使其具有如下功能:仅允许输入数字,宽度为10(直接使用相关掩码字符设置),保存表单。
3.设置表单内文本控件Text3为只读控件,保存表单。
4.为其增加一组如图所示选项按钮组(Optiongroup1),4个按钮依次为"+"、"-"、"*"、"/",保存表单。

注意:所涉及的数字和字母均为半角字符。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,打开程序文件cylinder.prg,请按要求修改程序并运行程序。
2,以表employee.dbf和orders.dbf中数据为基础,使用SQL命令检索订单数最多的前三名职工的职工号、姓名和订单数,检索结果按订单数降序排序存入表newcoun.dbf,同时将所用SQL命令存入文件new.txt文件。
三、综合应用(1小题,计30分)
基于数据库pdtmng建立如图所示顶层表单应用,表单文件名为myform.scx,表单控件名为goods,表单标题为"商品"。
1,表单内含一表格控件Grid1(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示products.dbf中某一类商品数据,RecordSourceType的属性为4(SQL说明);
2,建立如图所示的菜单(菜单文件名为mymenu.mnx),其条形菜单的菜单项为"商品分类"和"退出","商品分类"的下拉菜单为"小家电"、"饮料"和"酒类";单击下拉菜单中任何一个菜单命令后,表格控件均会显示该类商品(在过程中完成);

3,在表单的Load事件中执行菜单程序mymenu.mpr;
4,菜单项"退出"的功能是关闭表单并返回到系统菜单(在过程中完成)。
50
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成如下操作:
1,打开数据库"外汇",通过"外币代码"字段为"外汇代码" 和"外汇账户"建立永久联系。
2,新建一个名为"外汇管理"的项目文件,将数据库"外汇"加入"外汇管理"项目中。
3,修改mymenu菜单文件,为"文件"下的子菜单项"查找"设置访问键F(显示方式为"查找F"),并生成新的菜单程序。
4,修改one.prg中的SQL语句,使之正确(该语句的功能是从rate表中删除币种1代码为14,并且币种2代码为27的记录)。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1,用SQL语句进行以下查询:查询"外汇账户"表中的日元信息。查询结果包括钞汇标志、金额,结果按金额降序排序,并存储于表two.dbf 中,并将SQL语句存储于新建的there.txt文件中。
2,用一对多报表向导建立报表,"外汇代码"表为父表,"外汇账户"表为子表。要求:选择父表和子表中的全部字段;用"外币代码"字段为两个表建立关系;排序方式为按"外币代码"升序;报表样式为"帐务式",方向为"横向";报表标题为"外汇账户情况";报表文件名为report_account。然后在报表设计器中修改该报表,在报表标题带区的右端利用OLE对象插入文件picture.gif。
三、综合应用(1小题,计30分)
设计一个文件名和表单名均为rate的表单,表单的标题为"外汇汇率查询",表单界面如图所示,表单中有两个下拉列表框(Combo1和Combo2),这两个下拉列表框的数据源类型(RowSourceType属性)均为字段,且数据源(RowSource属性)分别是外汇汇率表的"币种1"和"币种2"字段;另外有币种1(Label1)和币种2(Label2)两个标签以及两个命令按钮"查询"(Command1)和"退出"(Command2)。运行表单时,首先从两个下拉列表框选择币种,然后单击"查询"按钮用SQL语句从外汇汇率表中查询相应币种(匹配币种1和币种2的信息),并将结果存储到表temp_rate中。
单击"退出"按钮关闭表单。

51
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,完成如下操作:
1,打开"学生管理"数据库,并从中永久删除"学生"表。
2,建立一个自由表"教师",表结构如下:
编号 字符型(8)
姓名 字符型(10)
性别 字符型(2)
职称 字符型(8)
3,利用查询设计器建立一个查询,该查询包含课程名为"数据库"的"课程"表中的全部信息,生成的查询保存为query。
4,用SQL UPDATE语句将"课程"表中课程名为"数据库"的课程的任课教师更改为"T2222",并将相应的SQL语句存储在文件Four.prg中。
二、简单应用(2小题,每题20分,计40分)
在考生目录下完成如下简单应用:
1,建立表单,表单文件名和表单控件名均为formtest,表单标题为"考试系统",表单背景为灰色(BackColor=255,255,255),其他要求如下:
(1) 表单上有"欢迎使用考试系统"(Label1)8个字,其背景颜色为灰色(BackColor=255,255,255),字体为楷体_GB2312,字号为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小题,计30分)
在考生目录下有myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单(在表单的load事件中运行菜单程序)。
新建立的菜单文件名为mymenu,结构如下(表单、报表和退出是菜单栏中的3个菜单项):
表单
浏览课程
浏览选课统计
报表
预览报表
退出
各菜单项的功能如下:
● 选择"浏览课程"时在表单的表格控件中显示"课程"表的内容(在过程中完成,直接指定表名);
● 选择"浏览选课统计"时在表单的表格控件中显示简单应用题建立的视图sview的内容(在过程中完成,直接指定视图名);
● 选择"预览报表"时预览简单应用题建立的报表creport(在命令中完成);
● 选择"退出"时关闭和释放表单(在命令中完成)。
注意:最后要生成菜单程序,并注意该菜单将作为顶层表单的菜单。
52
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成如下操作:
1.建立数据库orders_manage,将自由表employee和orders添加到新建的数据库中。
2.为employee表的性别字段设置默认值"男"。
3.为employee表的"性别"字段定义有效性规则,规则表达式为:性别 $ "男女",出错提示信息为"性别必须是男或女"。
4.使用SQL命令从employee表中查询所有已婚(婚否字段值为逻辑真)记录的职工号、姓名和出生日期信息,结果按出生日期降序排序存入表infor_da中,同时把所用命令存入文本文件cmd_da.txt。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
1.建立表单,表单文件名和表单控件名均为myform_da。为表单建立快捷菜单scmenu_d,快捷菜单有选项"时间"和"日期";运行表单时,在表单上单击鼠标右键弹出快捷菜单,选择快捷菜单的"时间"项,表单标题将显示当前系统时间,选择快捷菜单"日期"项,表单标题将显示当前系统日期。
注意:显示时间和日期用过程实现。
2.使用SQL命令从worker中查询年龄最大的三名职工信息:职工号、姓名、出生日期,查询结果按年龄降序(即出生日期升序)排序并保存在表infor_db.dbf中。
三、综合应用(1小题,计30分)
建立一个表单,表单文件名和表单控件名均为myform_db,表单标题为"数据浏览和维护",表单样例如图所示。其它功能要求如下:

1,用选项按钮组(Optiongroup1)控件选择职工表(employee)(Option1)或订单表(orders)(Option2);(注意:括号使用全角符号)
2,用复选框(Check1)控件确定显示的表是否需要存盘;
3,单击"确定"(Command1)命令按钮,若"存盘"复选框被选中,则用SQL语句将选项组指定的表的内容存入表temp中,否则用SQL语句显示该表的内容;
4,单击"退出"(Command2)命令按钮,关闭并释放表单。
53
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,完成如下操作:
1,从student表查询所有性别为"男"的学生信息,并按学号升序排序将查询结果存入results表。
2,利用表单向导生成一个表单,该表单含有student表的学号、班级、姓名和性别4个字段,按学号字段升序排序,其他设置采用默认值,并将表单保存为student.scx文件。
3,建立一个命令文件myprog.prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。
4,在student表最后增加一个"年龄"字段,类型为数值型(2)。
二、简单应用(2小题,每题20分,计40分)
1,改错题
student是一个"学生"表,其中包含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生目录下的modi1.prg程序文件的功能是显示输出所有政治面目为"群众"的"男"生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。
说明:程序中******ERROR FOUND******的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。
2,建立命令文件sprog.prg,该命令文件包含如下两条语句:
● 第一条语句使用SQL UPDATE命令计算和更新student表的年龄字段值(计算年龄的表达式是year(date()) - year(出生日期));
● 第二条语句使用SQL SELECT命令查询各种"政治面目"的学生人数和平均年龄,并将结果存储于表sqlresults(字段名是政治面目、人数和平均年龄)。
说明:以上命令文件必须执行,并产生所要求的结果。
二、简单应用(2小题,每题20分,计40分)
1,改错题
student是一个"学生"表,其中包含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段。考生目录下的modi1.prg程序文件的功能是显示输出所有政治面目为"群众"的"男"生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,请加以改正。
说明:程序中******ERROR FOUND******的下一行即为错误所在行。请用改正后的程序行覆盖错误所在行,不要插入或删除任何程序行。
2,建立命令文件sprog.prg,该命令文件包含如下两条语句:
● 第一条语句使用SQL UPDATE命令计算和更新student表的年龄字段值(计算年龄的表达式是year(date()) - year(出生日期));
● 第二条语句使用SQL SELECT命令查询各种"政治面目"的学生人数和平均年龄,并将结果存储于表sqlresults(字段名是政治面目、人数和平均年龄)。
说明:以上命令文件必须执行,并产生所要求的结果。
三、综合应用(1小题,计30分)
考生文件夹下的gnht.dbf是一个合同管理表文件,其中部分字段的含义是:HTH(合同号)、DHDW(订货单位)、GHDW(供货单位)、JHSL(订货数量)。编写程序progzh.prg分别统计订货单位数、供货单位数、订货总数,并将结果填写到jieguo.dbf(在考生目录下已经存在)表文件中。
说明:以上命令文件必须执行,并产生所要求的结果。