第17套
一、基本操作题(共四小题,第1和2题是7分、第3和4是8分)
在考生文件夹下完成下列操作:
1.打开名称为SDB的学生数据库,分别为学生表Student、选课成绩表SC和课程表Course创建主索引。Student表主索引的索引名和索引表达式均为"学号";Course表主索引的索引名和索引表达式均为"课程号";SC表的主索引名为PK_SC,索引表达式为"学号"+"课程号"的字段组合。
2.通过字段"学号"建立Student表与SC表之间的永久联系、通过字段"课程号"建立Course表与表SC之间的永久联系。并为以上建立的永久联系设置参照完整性约束:更新规则为"级联";删除规则为"级联";插入规则为"限制"。
3.使用SQL语句将学号为"s3"的学生记录从表Student中逻辑删除,并将该SQL语句存放在文件ONE.PRG中。
4.创建一个名为Project_S的项目文件。将学生数据库SDB添加到该项目中。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开商品销售数据库CDB,完成如下简单应用:
1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表ORDER中选择所有字段;两表之间采用"顾客号"字段连接;按"顾客号"字段升序排序;报表样式为"经营式",方向为"纵向";报表标题为"顾客订单表"。然后修改该报表,在页注脚中增加一个标签"制表人:王爱学";该标签水平居中,标签中的":"为中文的冒号。
2.修改一个名称为TWO.PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计(应付款),结果存储在临时表ls中。然后用ls中的每个顾客的数据去修改表scust对应的记录。该命令文件有3行语句有错误,打开该命令文件进行修改。
注意:直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。
本题主要考核点:使用报表向导制作表单、表单报表的使用、修改程序文件。
解题思路:
第1题:启动报表向导可在"文件"菜单中选择"新建"或者单击工具栏上的"新建"按钮,打开"新建"对话框,文件类型选择报表,单击向导按钮,在"向导选取"对话框中选择"一对多报表向导",然后按照报表向导操作即可。然后打开该报表,在页注脚中增加一个标签控件,输入:"制表人:王爱学",选中该标签,再选择"格式"菜单下的"对齐"子菜单下的"水平对齐"。
第2题:利用"文件"菜单下的"打开"命令打开程序文件TWO.PRG。将命令文件修改为:
CLOSE DBF
PRIVATE no,money
USE scust
*下面的一行语句有错误
SELECT 顾客号,sum(数量*单价) 应付款 ;
FROM order JOIN comm ON order.商品号 = comm.商品号 ;
GROUP BY 顾客号 ;
INTO CURSOR ls
SELECT scust
*下面的一行语句有错误
DO WHILE .NOT. EOF()
no = 顾客号
SELECT ls
LOCAT FOR 顾客号 = no
money = 应付款
SELECT scust
*下面的一行语句有错误
REPLACE 应付款 WITH money
SKIP +1
ENDDO
CLOSE TABLE
RETURN
三、综合应用(1小题,计30分)
在考生文件夹下,打开名称为CDB的商品销售数据库,完成如下综合应用:
创建一个标题名为"顾客购买商品查询"、文件名为GK的表单,如下图所示。
表单要求如下:
1.在该表单中设计两个标签、两个文本框、一个表格控件和两个命令按钮。
2.表单中两个标签的名称分别为Label1和Label2,其标题分别为"顾客号"和"应付款";两个文本框的名称分别为Text1和Text2,前者用于输入查询的顾客号,后者用于显示该顾客的应付款;表格Grid1用于显示顾客购买商品的详细记录。
3.两个命令按钮的功能如下:
(1)"查询"按钮(Command1)
在该按钮的Click事件中编写程序,采用SQL语句根据第1个文本框输入的顾客号进行查询。在表格控件中显示该顾客的顾客号和购买的每件商品的商品号、商品名、单价、数量和金额,各记录按商品号升序排序。该查询结果应同时存储到表tjb.dbf中。另外需要统计该顾客的应付款,并将结果显示于Text2文本框中。
说明:金额=单价*数量,应付款=顾客购买的商品金额合计
(2)"退出"按钮(Command2):关闭并释放表单。
注意:表格控件的RecordSourceType属性设置为"4-SQL说明";
表单设计完成后,运行该表单,输入顾客号:010003,单击"查询"按钮进行查询。
本题主要考核点:表单文件的创建、控件的属性的修改、SQL语句运用、表单的退出。
解题思路:
①在命令窗口输入命令:CREATE FORM GK,打开表单设计器窗口。
②在表单上添加各标签、文本框、表格、命令按钮,并进行适当的布置和大小调整。
③根据题面要求设置各标签、表格、命令按钮以及表单的属性值。
④将表格Grid1的RecordSourceType属性值设置为"4-SQL说明"。
⑤设置"查询"按钮的Click事件代码:
ThisForm.Grid1.RecordSource="SELECT Order.顾客号,Comm.商品号,商品名,单价,数量,Comm.单价* Order.数量 as 金额 FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.Value) order by Comm.商品号 INTO TABLE tjb"
SELECT sum(Comm.单价* Order.数量) FROM cdb!comm INNER JOIN cdb!order ON Comm.商品号=Order.商品号 WHERE 顾客号=ALLTRIM(ThisForm.Text1.Value) INTO ARRAY temp
ThisForm.Text2.Value=temp
⑥设置"退出"按钮的Click事件代码:
THISFORM.RELEASE
⑦保存表单并运行,在文本框中输入"010003",单击"查询"命令按钮进行计算。最后,单击"退出"命令按钮结束。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |