图77-1
右键单击表单,选择\属性\项,找到Caption属性,并将其修改为\产品使用\。 双击\查看\按钮,在其Click事件代码窗口内输入:
SELECT 外观.* FROM 外观 INNER JOIN 产品 ON 外观.产品编号=产品.产品编号 WHERE 产品.供应商编号=\
保存后完成。
三、综合应用题(1小题,计30分)
在考生文件夹下完成如下综合应用:
新建一个名为junjia的程序,完成以下功能。
① 首先将BOOKS.DBF中所有书名中含有\计算机\个字的图书复制到表BOOKSBAK中,以下操作均在BOOKSBAK表中完成。
② 复制后的图书价格在原价格基础上降价5%。
③ 从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表newtable中(字段名为出版单位和均价)。
【答案】
在命令窗口输入命令:MODIFY COMMAND junjia,打开程序编辑窗口,编写如下程序: ***********文件junjia.prg的程序段********** OPEN DATABASE BOOKAUTH
SELECT * FROM BOOKS WHERE 书名 like \计算机%\&& 价格在原价格基础上降价5%
UPDATE BOOKSBAK SET 价格=价格*0.95
SELECT TOP 1 出版单位,AVG(价格) AS 均价 FROM BOOKSBAK GROUP BY 出版单位 HAVING 均价>=25 ; ORDER BY 均价INTO TABLE newtable
******************************************
保存文件,在命令窗口输入命令:DO junjia,运行程序。结果如图77-2所示。
图77-2
79
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
(1)从数据库team中移去表score((不是删除)。 (2)将自由表team添加到数据库中。
(3)为表team建立一个主索引,索引名和索引表达式均为\拼音缩写\。
(4)为team表的股票代码字段设置有效性规则,规则是:球队名称!=\,错误提示信息是\球队名称不能为空\。
【答案】
(1)在命令窗口中输入命令:MODIFY DATABASE team,打开数据库设计器。在数据库设计器中右键单击表score,选择\删除\命令,接着单击\移去\按钮。
(2) 在数据库设计器上右键单击,选择\添加表\命令,双击考生文件夹下的自由表team,将自由表添加到数据中。
(3)右键单击表team,选择\修改\项,在表设计器中,单击\索引\选项卡,在第一行输入索引名\拼音缩写\,选择类型为\主索引\,输入索引表达式\拼音缩写\,单击\确定\按钮,保存表结构修改。
(4) 右键单击表team,选择\修改\项,在表设计器中,选中\球队名称\字段,在\字段有效性\设置区域内,在\规则\文本框内输入:球队名称!= \,在\信息\文本框内输入:\球队名称不能为空\。
二、简单应用题(共2小题,每题20分,计40分)
(1)在\公司管理\数据库中统计\部门\表中每个部门的人数,统计结果中包含字段\部门号\、\部门名称\和\人数\,按\部门号\排序。并将结果放在表\部门人数\中。
(2)打开myform表单,并按如下要求进行修改(注意要保存所做的修改):在表单的数据环境中添加\员工\表。表单中有\表格\控件,修改其相关属性,在表格中显示\员工\表的记录。 【答案】
(1)在命令窗口中输入命令:MODIFY COMMAND query1,在命令编辑窗口中输入如下程序。 ******文件query1.prg中的程序段***********
SELECT 部门.部门号,部门.部门名称,COUNT(员工.部门号) AS 人数 FROM 部门,员工;
Where 部门.部门号=员工.部门号 GROUP BY 员工.部门号 ORDER BY 部门.部门号 INTO TABLE 部门人数 ******************************************
在命令窗口输入命令:DO query1,执行程序,结果如图79-1所示。
图79-1
(2)输入命令:MODIFY FORM myform,打开表单设计器。在表单设计器上右键单击,选择\数据环境\,在弹出的对话框里,选中表\员工\,单击\添加\按钮,然后单击\关闭\。
在表格控件上右键单击,选择\属性\,在属性框里找到RecordSourceType属性并修改为\别名\,将RecordSource属性修改为\员工\。如图79-2所示
图79-2
保存表单并运行,查看结果。
三、综合应用题(1小题,计30分)
设计名为mystock的表单(控件名和文件名均为mystock)。表单的标题为:\股票持有情况\。表单中有两个文本框(Text1和Text2)和两个命令按钮\查询\(名称为Command1)和\退出\(名称为Command2)。
运行表单时,在文本框Text1中输入某一股票的汉语拼音,然后单击\查询\,则Text2中会显示出相应股票的
持有数量。
单击\退出\按钮关闭表单。 【答案】
在命令窗口中输入命令:CREATE FORM mystock,打开表单设计器,新建表单。
通过表单控件工具栏,为表单添加两个文本框(Text1和Text2)和两个命令按钮(Command1和Command2),在属性面板中,首先修改表单(Form1)的Caption属性值为\股票持有情况\,修改Name属性值为\,然后选中命令按钮(Command1),修改Caption属性值为\查询\,最后修改第二个命令按钮(Command2)的Caption属性值为\退出\,如图79-3所示。
图79-3
双击表单中的第一个命令按钮(查询),在Click事件中编写如下程序段: *****命令按钮Command1(查询)的Click事件代码如下*****
SELECT 持有数量 FROM stock_name,stock_sl where stock_name.股票代码 = stock_sl.股票代码; Anmd 汉语拼音 = ALLTRIM(ThisForm.Text1.Value) INTO ARRAY TEMP THISFORM.TEXT2.VALUE=TEMP
******************************************************
同样在第二个命令按钮command2(退出)的Click事件中,输入代码:ThisForm.Release。运行表单,结果如图79-4所示,保存表单设计到考生文件夹下。
图79-4
80
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下完成如下基本操作: (1)新建一个名为\学生\的数据库。
(2)将\学生\、\选课\、\课程\个自由表添加到新建的数据库\学生\中。 (3)通过\学号\字段为\学生\表和\选课\表建立永久联系。
(4)为上面建立的联系设置参照完整性约束:更新和删除规则为\级联\,插入规则为\限制\。 【答案】
(1)在命令窗口输入命令:MODIFY DATABASE 学生,新建数据库并打开数据库设计器。
(2)右击数据库设计器的空白处,选择\添加表\快捷菜单命令,在弹出的\打开\对话框中,将考生文件夹下\学生\、\选课\、\课程\个自由表分别添加到新建的数据库中。
(3)在数据库设计器中,右击表\学生\,选择快捷菜单命令\修改\,弹出表设计器,选择表设计器\索引\
标签,在索引名列中填入\学号\,在索引类型列中选择\主索引\,在索引表达式列中填入\学号\,点击\确定\按钮以保存表结构。用同样的方法,为\选课\表建立必要的索引,索引项为\学号\。在数据库设计器中,选中\学生\表中的索引\学号\主索引字段,将其拖动到表\选课\的\学号\的索引上,建立起两表的永久联系。
(4)建立好永久联系之后,在\学生\表和\选课\表的\学号\索引之间有一条线,单击两个表之间的连线,选择菜单命令\数据库\-\编辑参照完整性(I)\(系统首先要求清理数据库),系统弹出\参照完整性生成器\对话框,在\更新规则\标签中,选择\级联\规则,在\删除\规则中选择\级联\,在\插入规则\中选择\限制\,单击\确定\保存所编辑的参照完整性。
二、简单应用题(共2小题,每题20分,计40分)
在考生文件夹下完成如下简单应用:
(1)用SQL语句完成下列操作。将选课在3门课程以上(包括3门)的学生的学号、姓名、平均分和选课门数按平均分降序排序,并将结果存放于数据库表stu_temp(字段名为学号、姓名、平均分和选课门数)中。
(2)建立一个名为menu_lin的下拉式菜单,菜单中有两个菜单项\查询\和\退出\。\查询\项下还有一个子菜单,子菜单有\按姓名\和\按学号\两个选项。在\退出\菜单项下创建过程,该过程负责使程序返回到系统菜单。
【答案】
(1)在命令窗口输入命令:MODIFY Command query1,打开文件编辑器,输入如下程序: *****文件query1.prg文件中的程序段*****
SELECT 学生.学号, 学生.姓名, AVG(选课.成绩) as 平均分,COUNT(选课.课程号) AS 选课门数; FROM 学生,选课,课程 where 课程.课程号 = 选课.课程号 and 学生.学号 = 选课.学号;
GROUP BY 学生.姓名 HAVING COUNT(选课.课程号)>=3 ORDER BY 3 DESC INTO TABLE stu_temp **************************************
在命令窗口输入命令:DO query1,执行程序,查询结果自动保存到新表中。
(2)在命令窗口输入命令:CREATE MENU menu_lin,在弹出的\新建菜单\对话框中,单击\菜单\图标按钮,打开菜单设计器。
在主菜单设计界面中,分别输入菜单名称\查询\、\退出\,在\查询\的\结果\下拉框中选择\子菜单\,在\退出\的\结果\下拉框中选择\命令\,如图80-1所示。单击\查询\菜单行中的\编辑\命令按钮,在子菜单的菜单名称中输入\按姓名\、\按学号\,选择两个子菜单项的\结果\为\命令\或\过程\,然后选择\菜单级\下拉框中的\菜单栏\,如图80-2所示。返回主菜单设计界面,在\退出\菜单行的\命令\文本框中输入命令:SET SYSMENU TO DEFAULT,保存菜单设计。
图80-1 图80-2
三、综合应用题(1小题,计30分)
设计名为mystu的表单(控件名为form1,文件名为mystu)。表单的标题为\学生学习情况统计\。 表单中有一个选项组控件(名为myOption)两个命令按钮\计算\(名称为Command1)和\退出\(名称为Command2)。其中,选项组控件有两个按钮\升序\(名称为Option1)和\降序\(名称为Option2)。
运行表单时,首先在选项组控件中选择\升序\或\降序\,单击\计算\命令按钮后,按照成绩\升序\或\降序\(根据选项组控件)将选修了\语言\的学生学号和成绩分别存入stu_sort1.dbf和stu_sort2.dbf文件中。
单击\退出\按钮关闭表单。 【答案】
在命令窗口中输入命令:CREATE FORM mystu,打开表单设计器,新建表单。
从表单控件工具栏中,向表单添加2个命令按钮(Command1和Command2)和1个选项按钮组(Optiongroup1)。根据题意,在属性面板中,修改表单(Form1)的Caption属性值为\学生学习情况统计\,修改命令按钮Command1的Caption属性值为\计算\,修改命令按钮Command2的Caption属性值为\退出\,修改选项按钮组(Optiongroup1)的Name属性值为\,然后右击选项按钮组,选择\编辑\快捷菜单命令,在此状态下(编辑状态下,控件
四周出现蓝色框线),分别修改两个单选项的Caption属性值为\升序\和\降序\,如图80-3所示。
图80-3
双击\计算\命令按钮(Command1),编写Click事件代码,内容如下: ***命令按钮command1(计算)的Click事件代码如下**** DO CASE
CASE THISFORM.myOption.VALUE=1
SELECT 选课.学号, 选课.成绩 FROM 课程,选课 where 课程.课程号 = 选课.课程号; And 课程.课程名称=\语言\选课.成绩 INTO TABLE stu_sort1 CASE THISFORM.myOption.VALUE=2
SELECT 选课.学号, 选课.成绩 FROM 课程,选课 where 课程.课程号 = 选课.课程号; And 课程.课程名称=\语言\选课.成绩 DESC INTO TABLE stu_sort2
ENDCASE
***********************************************
同样在\退出\命令按钮(Command2)的Click事件中输入:ThisForm.Release。 运行表单,保存表单设计到考生文件夹下。
89
一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开Ecommerce数据库,完成下列基本操作:
(1)打开Ecommerce数据库,并将考生文件夹下的自由表OrderItem添加到该数据库。
(2)为OrderItem表创建一个主索引,索引名为PK,索引表达式为\会员号+商品号\。再为OrderItem表创建两个普通索引(升序),其中一个索引名和索引表达式均是\会员号\;另一个索引名和索引表达式均是\商品号\。
(3)通过\会员号\字段建立客户表Customer和订单表OrderItem之间的永久联系(注意不要建立多余的联系)。 (4)为以上建立的联系设置参照完整性约束:更新规则为\级联\;删除规则为\限制\;插入规则为\限制\。 【答案】
(1)在命令窗口输入命令:MODIFY DATABASE Ecommerce,打开数据库设计器,右击数据库设计器,选择\添加表\快捷菜单命令,将考生文件夹下的OrderItem表添加到数据库中。
(2)右击数据库设计器中的表OrderItem,选择\修改\快捷菜单命令,弹出表设计器,选择表设计器\索引\标签,在索引名列中填入\在索引类型列中选择\主索引\,在索引表达式列中填入\会员号+商品号\,用同样的方法再为OrderItem创建两个普通索引(升序),一个索引名和索引表达式均是\会员号\;另一个索引名和索引表达式均是\商品号\,点击\确定\按钮,保存表结构。
(3)在数据库设计器中,选中Customer表中的索引\会员号\并拖动到表OrderItem的\会员号\索引上,这样两个表之间就建立起了永久性联系。
(4)建立好永久性联系之后,单击表示两个表之间连线,线会加粗,此时在主菜单中选择\数据库\中的\编辑参照完整性(I)\(系统首先要求清理数据库),系统弹出\参照完整性生成器\对话框,在\更新规则\标签中,选择\级联\规则,在\删除\规则中选择\限制\,在\插入规则\中选择\限制\,单击\确定\保存所编辑的参照完整性。
二、简单应用题(共2小题,每题20分,计40分)
(1)在考生文件夹下,有一个数据库cadb,其中有数据库表zxkc和zx。 表结构如下: