1、操作解析第一套一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到sql_a1.txt文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做,相应行为空。在考生文件夹下完成下列操作:(1)利用SQL SELECT命令将表stock_sl.dbf复制到stock_bk.dbf。( 2) 利 用 SQL INSERT命 令 插 入 记 录 ( 6 00028, 4.36, 4.60, 5500) 到 stock_bk.dbf表 。(3)利用SQL UPDATE命令将stock_bk.db
2、f表中“股票代码“为“600007“的股票“现价“改为8.88。(4)利用 SQL DELETE命令删除 stock_bk.dbf表中“股票代码“为“600000“的股票。【解析】 本大题主要考查了SQL的操作功能,包括数据的插入(INSERT) 、更新(UPDATE)和删除(DELETE) 。复制表可以使用SQL查询功能中表的去向语句来实现。【答案】 请查看sql_a1.txt文件,其中的4条语句分别为:(1)SELECT * FROM stock_s1 INTO TABLE stock_bk(2)INSERT INTO stock_bk VALUE(600028,4.36,4.60,550
3、0)(3)UPDATE stock_bk SET 现价=8.88 WHERE 股票代码=600007(4)DELETE FROM stock_bk WHERE 股票代码=600000二、简单应用题(共2小题,每题20分,计40分)(1)在考生文件夹下建立数据库sc2,将考生文件夹下的自由表score2添加进sc2中。根据score2表建立一个视图score_view,视图中包含的字段与score2表相同,但视图中只能查询到积分小于1500的信息。 然后利用新建立的视图查询视图中的全部信息,并将结果按积分升序存入表v2。(2)建立一个菜单filemenu,包括两个菜单项“文件“和“帮助“,“文件
4、“将激活子菜单,该子菜单包括“打开“、“存为“和“关闭“3个菜单项;“关闭“使用SET SYSMENU TO DEFAULT命令返回到系统菜单,其他菜单项的功能不做要求。二、简单应用题【解析】本大题1小题考查的主要是视图的建立及查询,我们可以在视图设计器中根据题意为自由表建立一个视图文件score_view,并在视图设计器的对应选项卡中为视图设置条件,然后通过查询设计器完成视图的查询,并决定输出去向为表。2小题中主要是考查菜单设计器的“结果“下拉框中各项的使用功能,例如要建立下级菜单,在“结果“下拉框中就必须选择“子菜单“,而要执行某条菜单命令,就应该选择“命令“或“过程“。【答案】 (1)在
5、命令窗口输入命令:MODIFY DATABASE sc2,新建一个数据库文件,在数据库设计器中将考生文件夹下的自由表score2添加到数据库中,如图1-1所示。图1-1利用菜单命令或常用工具栏中的图标按钮,打开“新建“对话框,新建一个视图文件,将数据表score2添加到视图设计器中。视图设计器中有6个选项卡,根据题意,在“字段“选项卡中,单击“全部添加“命令按钮,将“可用字段“列表框中的3个字段全部添加到右边的“选定字段“列表框中,接着在“筛选“选项卡中的“字段名“下拉框中选择“score2.积分“字段,在“条件“下拉框中选择“0“,默认值是10。【考点分析】本大题主要考查的知识点是:创建表单
6、、常见函数的使用、表结构修改。 【解题思路】本大题第1小题采用表单控件的使用以及各函数的功能,标签控件最重要的一个属性是Caption,可通过该属性显示当前日期。第2小题主要在表设计器中对数据表的更改,建立索引可以在数据表设计器中完成。字段的有效性规则建立可在“字段“选项卡中完成。 (1)【操作步骤】 步骤1:按照题目的要求,新建表单,保存为“my1“。步骤2:单击“表单控件“工具栏中的“命令按钮“控件,在表单上放置1个命令按钮和1个标签控件,将命令按钮的Caption属性值改为“显示时间“,接着单击“表单控件“工具栏中的“标签“控件,将标签的AutoSize属性设置为.T.,将FontSiz
7、e设置为20,表单标题设置为“系统时间“。 步骤3:双击命令按钮编写Click事件的程序代码: *命令按钮Command1(显示时间)的Click事件代码* A=DTOC(DATE(),1) THISFORM.Label1.Caption=LEFT(A,4)+“年“+; IIF(SUBS(A,5,1)=“0“,SUBS(A,6,1),SUBS(A,5,2)+“月“+RIGHT(A,2)+“日“ * 步骤4:调整表单各控件的位置,保存更改,运行表单“my1“, 查看表单运行结果。 (2)【操作步骤】 步骤1:按照题目的要求,打开数据库“图书借阅信息“,然后打开表“book“的设计器。步骤2:按照
8、题目的要求,指定“书号“为主索引,索引名为“sh“,索引表达式为“书号“。指定“作者“为普通索引,索引名和索引表达式均为“作者“。字段“价格“的有效性规则是“价格0“,默认值是10。步骤3:单击“确定“按钮,保存表结构修改。 【易错误区】第1小题中不要忽略了表单标题设置为“系统时间“,步骤3中用到几个重要的函数,需要认真调试,最后记得保存修改;第2小题在设置字段有效性的时候,要现选择好设置的字段行。 【举一反三】第1小题中的题型也出现在:第21(2)、88(1)套的简单应用题;第2小题中的题型也出现在:第39(1)、61(2)套的简单应用题。三、综合应用题使用报表设计器建立一个报表,具体要求如
9、下: 报表的内容(细节带区)是order_list表的订单号、订购日期和总金额。增加数据分组,分组表达式是“order_list.客户号“,组标头带区的内容是“客户号“,组注脚带区的内容是该组订单的“总金额“合计。增加标题带区,标题是“订单分组汇总表(按客户)“,要求是3号字、黑体,括号是全角符号。增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为report1.frx文件。 提示:在考试的过程中可以使用“显示预览“菜单查看报表的效果。【考点分析】本大题主要考查的知识点是:使用报表设计器创建一个报表。 【解题思路】利用报表设计器完成报表的设计,本题涉及到报表分组、标题
10、/总结的设计,以及字体的设计,这些都可以通过“报表“菜单中的命令来相应的完成,其他注意的地方是数据表和字段的拖动,以及域控件表达式的设置。 【操作步骤】 步骤1:首先打开表设计器,为order_list表按“客户号“字段建立一个普通索引。步骤2:按照题目的要求,新建报表“report1“步骤3:按照题目的要求,添加 “数据环境“步骤4:将数据环境中order_list表中的订单号、订购日期和总金额3个字段依次拖放到报表的细节带区。步骤5:选择菜单【报表】|【数据分组】命令,系统弹出“数据分组“对话框,在对话框中输入分组表达式“order_list.客户号“,关闭对话框回到报表设计器,可以看到报
11、表设计器中多了两个带区:组标头和组注脚带区。步骤6:在数据环境中,将order_list表中的“客户号“字段拖放到组标头带区,并在报表控件栏中单击“标签“按钮,添加一个标签“客户号“,以同样的方法为组注脚带区增加一个“总金额“标签,并将“总金额“字段拖放到该带区。步骤7:双击域控件“总金额“,系统弹出“报表表达式“对话框,在对话框中单击命令按钮“计算“,在弹出的对话框中选择“总和“单选项,关闭对话框,回到报表设计器。 步骤8:选择菜单【报表】|【标题/总结】命令,弹出“标题/总结“对话框,在对话框中勾选“标题带区“和“总结带区“复选框,为报表增加一个标题带区和一个总结带区;然后设置标签字体,选
12、择菜单【报表】|【默认字体】命令,在弹出的“字体“对话框中,根据题意设置3号黑体字。 步骤9:通过“报表控件“工具栏,为总结带区添加一个标签“订单分组汇总表(按客户)“;最后在总结带区添加一个标签“总金额“,再添加一个域控件,在弹出的“报表表达式“中为域控件设置表达式为“order_list.总金额“,在“格式“对话框中选择“数值型“单选项。步骤10:单击命令按钮“计算“,在弹出的对话框中选择“总和“单选项,关闭对话框,回到报表设计器。保存报表,利用常用工具栏中的“预览“按钮,可预览报表效果。 【易错误区】本题相对复杂,步骤繁琐,需要仔细操作,新手不易深学,有一定基础后会容易理解,本书中此类型
13、题仅有这一个,常见新建报表大多采用向导方式新建。第四套一、基本操作题(1)建立项目文件,文件名为“项目1“。 (2)在项目“项目1“中建立数据库,文件名为“数据库1“。 (3)将考生文件夹下的自由表“纺织品“添加到数据库“数据库1“中。 (4)对数据库“数据库1“下的表“纺织品“,建立视图“myview“,要求显示出表中的所有字段。并按“编码“排序(升序)。【考点分析】本大题主要考查的知识点是:创建项目、创建数据库项目中、将自由表添加到数据库中、创建视图视图设计器。 【解题思路】本大题考查的是有关建立项目数据库及视图的基本操作。注意只有针对某个数据库才能建立视图,其操作较为复杂,不要漏过步骤;
14、注意区分显示的字段和参加排序的字段,最后还要记得保存视图。 【操作步骤】 (1)启动Visual FoxPro 6.0,按照题目的要求新建一个名为“项目1“的项目文件。(2)按照题目的要求,在项目管理器中新建数据库“数据库1“。(3)按照题目的要求,将自由表“纺织品.dbf“添加到数据库中“数据库1“中。(4)按照题目的要求,在数据库中建立视图“myview“。【易错误区】第1、2小题中,需要注意的是新建的项目和数据库要保存到考生文件夹中。 【举一反三】第1小题中的题型也出现在:第33(1)、34(1)、37(1)、40(1)、45(1)套的基础操作题;第2小题中的题型也出现在:第26(2)、
15、37(2)、45(2)、55(2)套的基础操作题;第3小题中的题型也出现在:第36(1)、42(2)、46(2)、48(2)套的基础操作题;第4小题中的题型也出现在:第24(2)、85(3)套的基础操作题。二、简单应用题(1)用SQL语句查询课程成绩在60分以上的学生姓名,并将结果按姓名降序存入表文件res.dbf中。 (2)编写my.prg程序,实现的功能:先为“学生成绩“表增加一个“平均成绩“字段,类型为N(6,2),根据“学生选课“表统计每个学生的平均成绩,并写入“学生成绩“表新的字段中。【考点分析】本大题主要考查的知识点是:SQL语句的应用、查询结果用临时表存储、排序、常用计算函数。
16、【解题思路】设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。 (1)【操作步骤】 步骤1:按照题目的要求,新建程序“query1“,在“query1“窗口中输入如下代码并保存。 *程序1中的代码* SELECT DISTINCT(姓名) AS 姓名; FROM 课程,学生选课,学生成绩; WHERE 学生成绩.学号=学生选课.学号; AND 学生选课.课程号=课程.课程号; AND 成绩60; ORDER BY 姓名 DESC; INTO TABLE res * 步骤2:按照题目的要求,运行程序“query1“查看结果。(2)【操作步骤】 步骤1:按照题目的要求,
17、新建程序“my“,在“my“窗口中输入如下代码并保存。 *文件my.prg中的程序段* ALTER TABLE 学生成绩 ADD 平均成绩 N(6,2) SELECT 学号,AVG(成绩) AS 平均成绩; FROM 学生选课; GROUP BY 学号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE 学生成绩 SET 平均成绩=atemp.平均成绩; WHERE 学生成绩.学号=atemp.学号 SKIP ENDDO * 步骤2:按照题目的要求,运行程序“my“查看结果。【易错误区】本大题中两个小题的都是采用SQL语句来查询,然后将结果保存到临时表中,
18、步骤简单,需要注意的是程序段的编辑,熟悉掌握SQL的使用。 【举一反三】第1小题中的题型也出现在:第22(1)、23(1)、28(1)套的简单应用题;第2小题中的题型也出现在:第31(1)、35(2)套的简单应用题。三、综合应用题在考生文件夹下有工资数据库wage3,包括数据表文件:zg(仓库号C(4),职工号C(4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项“统计“和“退出“。 程序运行时,单击“统计“菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到emp1(emp1为自由表)文
19、件中,该数据表文件和zg数据表文件具有相同的结构。 单击“退出“菜单项,程序终止运行。 (注意:相关数据表文件存在考生文件夹下) 【考点分析】本大题主要考查的知识点是: 创建菜单菜单设计器、SQL语句的应用。 【解题思路】利用SQL语句的进行分组计算查询,在本题应了解SQL中用于求平均值的函数AVG的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果“下拉框中应选择的类型。 【操作步骤】 步骤1:启动Visual FoxPro 6.0,按照题目的要求,新建一个菜单。步骤2:按照题目的要求,输入两个主菜单名称“统计“和“退出“和选择个菜单行的“结果“,单击“统计“菜单行中的“编辑“按钮,在程
20、序编辑窗口中输入如下程序段,“退出“菜单行的文本框中编写程序代码:SET SYSMENU TO DEFAULT,如图3.32所示。 *“统计“菜单命令的程序设计* SET TALK OFF SET SAFETY OFF OPEN DATABASE wage3 SELECT 仓库号,AVG(工资) AS avggz; FROM zg; GROUP BY 仓库号; INTO CURSOR curtable SELECT zg.仓库号,zg.职工号,zg.工资; FROM zg,curtable; WHERE zg.工资=18,默认值是20。 【考点分析】本大题主要考查的知识点是:创建菜单、SQL语
21、句的使用、表结构修改、索引的建立。 【解题思路】第1小题统计菜单设计器的“结果“下拉框中各项的使用功能,例如要建立下级菜单,在“结果“下拉框中就必须选择“子菜单“,而要执行某条菜单命令,就应该选择“命令“或“过程“。第2小题中,建立索引、设置字段有效性都在数据表设计器中完成。 (1)【操作步骤】 步骤1:在命令窗口中输入命令:CREATE MENU caidan 第2小题中在设置年龄字段有效性的时候,要先选择好字段“年龄“,然后再在“字段有效性“选项中输入相应的值。 【举一反三】第1小题中的题型也出现在:第79(1)套的简单应用题;第2小题中的题型也出现在:第83(1)套的简单应用题。三、综合
22、应用题在考生文件夹下有“学生管理“数据库,其中包含表“宿舍信息“和“学生信息“。这两个表之间存在一对多的关系。对该数据库建立表单文件夹名为myf标题为“住宿管理“,完成如下要求: 在表单中包含两个表格控件,第一个用于显示“宿舍信息“表中的记录,第二个表格用于显示与“宿舍信息“表中的当前记录对应的学生表中的记录。 在表单中包含一个“关闭“命令按钮,单击该按钮时退出表单。【考点分析】本大题主要考查的知识点是:创建表单【表单设计器】、常用表单控件。 【解题思路】通过表格控件,实现父子表记录的联动显示,首先需要添加用于显示的数据表到表单的数据环境中,然后在两个表格的“生成器“对话中,进行相应的设置,实
23、现表格中记录联动的功能。 【操作步骤】 步骤1:在命令窗口中输入命令:CREATE FORM myf 一季度销售额 + 二季度销售额 + 三季度销售额 + 四季度销售额 AS 全年销售额,;一季度利润 + 二季度利润 + 三季度利润 + 四季度利润 AS 全年利润,;(一季度利润+二季度利润+三季度利润+四季度利润)/(一季度销售额+二季度销售额+三季度销售额+四季度销售额)AS 利润率;FROM S_T, DEPT;WHERE S_T.部门号 = DEPT.部门号;ORDER BY 年度, 利润率 DESC;INTO TABLE S_SUM(3)单击关闭按钮保存程序。三、综合应用题【操作步骤
24、】 (1) 在命令窗口中输入create form year_select(2) 在属性对话框中设置name属性为form_one,其caption属性设为“部门年度数据查询”(3) 右击表单空白部分,选择数据环境命令,右击数据环境窗口的空白部分,选择添加命令,在打开的对话框内选择s_t表(4) 单击表单控件工具栏上的微调控件按钮,向表单中添加一个微调控件。在属性对话框中设置SpinnerHighValue和SpinnerLowValue属性分别为2010和1999,其Value属性值为2003,Imcrement属性值为1(5) 单击表单控件工具栏上的表格控件按钮,向表单中添加一个表格控件。
25、在属性对话框中设置RecordSource属性为“4-SQL说明”(6) 单击表单控件工具栏上的命令控件按钮,向表单中添加两个命令按钮。在属性对话框中分别设置Caption属性为“查询”和“退出”(7) 双击退出命令按钮在CLICK事件过程中输入如下程序:thisform.release(8) 双击查询命令按钮在CLICK事件过程中输入如下程序:ThisForm.Grid1.RecordSource=“select * from S_T where;年度=alltrim(thisform.spinner1.text) into cursor temp“(9) 单击关闭按钮保存表单第七套一、基本
26、操作题【操作步骤】 (1)在命令窗口中:create project myproject(2)在项目管理器中,单击数据选项卡,选择“数据库”,单击“添加”命令按钮,在打开对话框中双击“st.dbc”(3)在数据库设计器中,右击空白部分,选择添加表命令,双击“student.dbf”(4)在数据库设计器中,右击 student表,选择修改菜单命令,选择院系字段,单击删除按钮,单击确定按钮。二、简单应用题【操作步骤】 第一小题的步骤如下:(1)单击常用工具栏上的打开按钮,文件类型选择.dbc,双击“支出.dbc”,然后在数据库设计器中右击空白部分,选择“新建本地视图”菜单命令,将日常支出表和基本情
27、况表添加到视图中。(2)在视图设计器中的“字段”选项卡中,按题目要求将需要显示字段添加到选定字段列表框中,在函数和表达式对话框中输入“工资-电话-电费-气费 as 剩余金额”,将其添加到选定字段列表中(3)在“排序依据”选项卡中将“剩余金额”添加到“排序条件”中(升序),然后右击,选择“查看 SQL”菜单命令,打开代码窗口,将定义视图的代码复制到题目所要求的文本文件中(4)保存视图,视图名为 view1第二小题的步骤如下:(1)单击常用工具栏上的打开按钮,文件类型选择.scx,双击“myform.scx”,双击浏览命令按钮,将 click事件过程的代码改为:ThisForm.grid1.Rec
28、ordSourceType=0ThisForm.grid1.RecordSource=“日常支出.dbf“(2)双击退出命令按钮,将 click事件过程的代码改为:ThisForm.Release三、综合应用题【操作步骤】 (1) 打开支出数据库设计器(2) 然后在数据库设计器中右击空白部分,选择“新建本地视图”菜单命令,将日常支出表和基本情况表添加到视图中。(3) 在视图设计器中的“字段”选项卡中,按题目要求将需要显示字段添加到选定字段列表框中。(4) 将视图以myview文件名保存。(5) 在命令窗口中输入:create form myform3(6) 右击表单空白部分,选择数据环境命令,
29、添加日常支出表和myview视图(7) 在表单里添加一个页框控件,设置其属性pagecount为2,右击页框,选择“编辑”命令对两个页面进行编辑。分别设置页面的CAPTION属性为“视图”和“表”。将数据环境里的日常支出表和myview视图分别拖入对应页面中。(8) 向表单添加一个命令按钮,将CAPTION属性改为“退出”。双击该命令按钮,在click事件过程的代码输入:ThisForm.Release。(9) 保存表单。第八套一、基本操作题在考生文件夹下完成下列基本操作: (1)建立一个名称为“外汇管理“的数据库。 (2)将表currency_sl.dbf和rate_exchange.dbf
30、添加到新建立的数据库中。(3)将表rate_exchange.dbf中“买出价“字段的名称改为“现秒卖出价“。(4)通过“外币代码“字段建立表rate_exchange.dbf和currency_sl.dbf之间的一对多永久联系(需要首先建立相关索引)。【考点分析】本大题主要考查的知识点是:创建数据库非项目中、将自由表添加到数据库中、表结构修改改字段名称、建立表间联系。 【解题思路】利用菜单方式新建数据库,添加和修改数据库中表的以及建立表之间的联系,可以通过数据库设计器来完成,建立表索引以及修改表结构可以在数据表设计器中完成。 【操作步骤】 (1)按照题目的要求,新建数据库“外汇管理“。(2)
31、按照题目的要求,将自由表currency_sl.dbf和rate_exchange.dbf分别添加到数据库中,两个方法相同。(3)按照题目的要求,将表rate_exchange.dbf中“卖出价“字段的名称改为“现钞卖出价“。(4)按照题目的要求,建立currency_sl.dbf和rate_exchange.dbf两个表之间的永久性联系。【易错误区】第3小题中,在表设计器中只要求修改某一字段名字,其它的不要修改;第4小题中,切记是拖动主索引的字段。 【举一反三】第1小题中的题型也出现在:第21(1)、46(1)、65(1)套的基础操作题;第2小题中的题型也出现在:第36(1)、42(2)、4
32、6(2)、48(2)套的基础操作题;第4小题中的题型也出现在:第21(4)、22(4)、23(4)套的基础操作题。二、简单应用题在考生文件夹下完成如下简单应用。(1)使用报表向导建立一个简单报表。要求选择salarys表中所有字段;记录不分组;报表样式为“随意式“;列数为“1“,字段布局为“列“,方向为“纵向“;排序字段为“雇员号“(升序);报表标题为“雇员工资一览表“;报表文件名为print1。 (2)在考生文件夹下有一个名称为form1的表单文件,表单中的两个命令按钮的Click事件下的语句都有错误,其中一个按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改: 将按钮“刘缆雇
33、员工资“名称修改为“浏览雇员工资“。 单击“浏览雇员工资“命令按钮时,使用SELECT命令查询salarys表中所有字段信息供用户浏览。 单击“退出表单“命令按钮时,关闭表单。 注意:每处错误只能在原语句上进行修改,不能增加语句行。【考点分析】本大题主要考查的知识点是:创建报表向导、SQL语句的应用、表单控件的常用属性和方法事件。 【解题思路】两个小题采用工具栏打开和新建文件,第1小题利用报表向导设计一个简单报表,设计过程中注意每个向导界面需要完成的操作即可;2小题修改表单控件属性,直接在属性面板中完成即可,注意方法的使用,例如关闭表单应使用Release属性。 (1)【操作步骤】 步骤1:按
34、照题目的要求,使用报表向导创建一个报表。步骤2:在“字段选取“报表向导界面中,为报表添加数据源,选择数据表文件salarys,通过选项卡中的“全部添加“按钮,将“可用字段“列表框中的所有字段全部添加到“选定字段“列表框中。 步骤3:单击“下一步“命令按钮,在“选择报表样式“向导界面的“样式“列表框中,选择“随意式“。 步骤4:单击“下一步“按钮,在“定义报表布局“向导界面中,设置列数为“1“,字段布局为“列“,方向为“纵向“。 步骤5:单击“下一步“按钮,在“排序记录“向导界面中添加“雇员号“字段到“选定字段“列表框中,并选择“升序“单选项。 步骤6:单击“下一步“按钮,最后在“完成“界面中输
35、入报表标题“雇员工资一览表“,单击“完成“命令按钮,将报表以print1名保存在考生文件夹下。 (2)【操作步骤】 步骤1:按照题目的要求,打开考文件夹中的表单“form1“。步骤2:按照题目的要求,将按钮“刘缆雇员工资“名称修改为“浏览雇员工资“,修改两个按钮控件的click事件代码如下,保存程序修改。 *命令按钮Command1的Click事件的源程序* SELECT FORM dept * 修改命令按钮中的程序错误,正确的命令如下: *命令按钮Command1的Click事件修改后的程序* SELECT * FROM salarys 第2小题要区分“form“和“from“的使用。 【举
36、一反三】第1小题中的题型也出现在:第22(2)、23(2)、28(2)套的简单应用题;第2小题中的题型也出现在:第69(2)、套的简单应用题。三、综合应用题为“部门信息“表增加一个新字段“人数“,编写满足如下要求的程序:根据“雇员信息“表中的“部门号“字段的值确定“部门信息“表的“人数“字段的值,即对“雇员信息“表中的记录按“部门号“归类。将“部门信息“表中的记录存储到ate表中(表结构与“部门信息“表完全相同)。最后将程序保存为myp.prg,并执行该程序。【考点分析】本大题主要考查的知识点是:SQL语句的应用,表结构修改添加字段。 【解题思路】字段的增加用到数据表的定义语句,考生应该熟悉C
37、OUNT 函数的应用,在SQL语句设计过程中可利用临时表来存放查询结果,再利用DO循环语句对表中的记录逐条更新。 【操作步骤】 步骤1:按照题目的要求,新建程序。步骤2:按照题目的要求,在弹出的程序编辑窗口中输入如下程序段。 *程序文件myp.prg中的程序段* ALTER TABLE 部门信息 ADD 人数 I SELECT 部门号,COUNT(*) AS 人数 FROM 雇员信息; GROUP BY 部门号; INTO CURSOR atemp SELECT 部门信息.部门号,部门信息.部门名,atemp.人数;FROM 部门信息 LEFT JOIN atemp ;ON 部门信息.部门号=
38、atemp.部门号;GROUP BY 部门信息.部门号 INTO TABLE ate* 步骤3:按照题目的要求,保存程序为“myp“,并运行,查看结果步骤4:按照题目的要求,运行程序“myp“。步骤5:查看运行结果。【易错误区】步骤2中的程序段容易出错,常见情况都得细心调试,特别是当中的表结构定义语和SQL语句的使用;步骤4中选择保存路径为考生文件夹。 【举一反三】本题型也出现在:第56、78套的综合应用题。第九套一、基本操作题【操作步骤】 (1) 在命令窗口中输入:create project myproject(2) 在项目管理器中,单击数据选项卡,选择“数据库”,单击“添加”命令按钮,在
39、打开对话框中双击“客户.dbc”(3) 打开数据库设计器,右击订货表,在弹出的快捷菜单上选择“移去”命令。在弹出的对话框中单击移去命令按钮(4) 在命令窗口中输入:modify form myform1,选择表单控件,将属性对话框内backcolor属性改为“蓝色”(0,0,255)二、简单应用题【操作步骤】 第一小题的步骤如下:(1) 在命令窗口中输入:create form myform2,打开表单设计器,并向表单添加三个命令按钮。(2) 选择第一个命令按钮,caption 属性改为“报告”,双击该命令按钮,在 click事件中输入如下代码:messagebox(“您选择的报告按钮”)(3
40、) 选择第二个命令按钮,caption 属性改为“汇报”,双击该命令按钮,在 click事件中输入如下代码:messagebox(“您选择的汇报按钮”)(4) 选择第三个命令按钮,caption 属性改为“退出”,双击该命令按钮,在 click事件中输入如下代码:thisform.release第二小题的步骤如下:(1) 单击常用工具栏上的新建按钮,在新建对话框的文件类型中,选择查询,再单击新建文件按钮,将订货表和客户表添加到查询设计器中。(2) 默认两表通过客户编号连接。(3) 在查询设计器中的“字段”选项卡中,按题目要求将需要显示字段添加到选定字段列表框中(4) 在“筛选”选项卡中将筛选条
41、件设置为:客户.所在地=“上海”(5) 单击菜单命令:查询查询去向,在弹出的对话框中选择“表”按钮,并命名为query1(6) 完成查询设计,单击关闭按钮,将查询保存为 query1。三、综合应用题【操作步骤】 (1) 在命令窗口中输入:create form myform3,选择表单控件,将属性对话框内caption属性改为“成绩查询”。(2) 右击表单空白部分,选择数据环境命令,将student、cource、score1三个表添加。(3) 向表单添加一个组合框控件,将组合框的rowsourcetype设置为6-字段,再将rowsource设置为student.学号。(4) 向表单添加两个
42、命令按钮和一个表格控件。选择第一个命令按钮,在属性对话框中将caption属性改为查询。双击该命令按钮,在click事件中输入如下代码:GO TOPSELECT Course.课程名, Score1.成绩;FROM course INNER JOIN score1;INNER JOIN student ;ON Student.学号 = Score1.学号 ;ON Course.课程号 = Score1.课程号;WHERE Student.学号 = ALLTRIM(THISFORM.combo1.VALUE);INTO CURSOR TEMPTHISFORM.GRID1.RECORDSOURCE
43、=“temp“(5) 选择第二个命令按钮,在属性对话框中将caption属性改为退出。双击该命令按钮,在click事件中输入如下代码:thisform.release(6) 单击表单设计器关闭按钮,以myform3为文件名保存表单。第十套一、基本操作题在考生文件夹下完成下列操作(在“成绩管理“数据库中完成):(1)为“学生“表在“学号“字段上建立升序主索引, 索引名为学号。(2)为“学生“表的“性别“字段定义有效性规则, 规则表达式为“性别$的“男女“,出错提示信息是“性别必须是男或女“。(3)在“学生“表的“性别“和“年龄“字段之间插入一个“出生日期“字段,数据类型为“日期型“(修改表结构)
44、。(4)用SQL的UPDATE命令将学生“李勇“的出生日期修改为1984年3月5日,并将该语句粘贴在sql_a2.TXT文件中(第一行、只占一行)。【解析】 本大题所考查的都是数据表结构的一些基本操作,包括字段索引的建立、字段的有效性规则建立以及字段的新增,可在“字段“选项卡中完成,主索引的建立需要在“索引“选项卡中进行设置。【答案】 (1)在命令窗口输入命令:USE 学生MODIFY STRUCTURE打开表设计器,在“索引“选项卡的“索引名“中输入“学号“,选择索引类型为“主索引“,索引表达式为“学号“。(2)在“学生“表设计器的字段选项卡中,首先选中“性别“字段,然后在规则文本框中输入:
45、“性别$“男女“;在信息文本框中输入“性别必须是男或女“,如图2-1所示。图2-1(3)在“学生“表设计器的“字段“选项卡中,选中“年龄“字段,然后单击右边的“插入“命令按钮,新增一个字段,将字段名改为“出生日期“,将“类型“改为日期型。(4)请查看sql_a2.txt文件中的命令,其中的SQL语句为UPDATE学生STE出生日期=1983/03/04WHERE姓名=“李勇“。二、简单应用题(1)根据考生文件夹下的txl表和jsh表建立一个查询query2,查询出单位是“南京大学“ 的所有教师的姓名、职称、电话,要求查询去向是表,表名是query2.dbf,并执行该查询。(2)建立表单ente
46、rf,表单中有两个命令按钮,按钮的名称分别为cmdin和cmdout,标题分别为“进入“和“退出“。【解析】本大题1小题考查的是多表查询文件的建立以及查询去向。在设置查询去向的时候,应该注意表的选择;2小题考查的主要是表单中一些基本控件的建立以及属性的设置,属性设置可直接在属性面板中修改。【答案】 (1)可以直接在命令窗口输入命令:CREATE QUERY query2,打开查询设计器,新建一个查询。在查询设计器中,分别将txl和jsh两个数据表文件添加到查询设计器中,系统自动查找两个数据表中匹配的字段进行内部联接,单击“确定“按钮,如图2-2所示。图2-2在查询设计器中的“字段“选项卡中,将
47、“可用字段“列表框中的jsh.姓名、jsh.职称和txl.电话3个字段添加到右边的“选定字段“列表框中,在“筛选“选项卡的“字段名“下拉框中选择“txl.单位“字段,在“条件“下拉框中选择“=“,在“实例“文本框中输入“南京大学“。执行菜单命令“查询“-“查询去向“,系统弹出“查询去向“对话框,单击“表“图标按钮,在 “表名“文本框中输入表名query2,单击“确定“退出,如图2-3所示。图2-3执行菜单 “查询“-“运行查询“,查询结果将自动保存到query2数据表中。(2)在命令窗口输入命令:CREATE FORM enterf,打开表单设计器。单击表单控件工具栏上的“命令按钮“控件图标,
48、为表单添加两个命令按钮command1和command2,如图2-4所示。三、综合应用题在考生文件夹下有仓库数据库ck3,包括如下所示两个表文件:ck(仓库号C(4),城市C(8),面积N(4))zg(仓库号C(4),职工号C(4),工资N(4))设计一个名为ZG3的菜单,菜单中有两个菜单项“统计“和“退出“。程序运行时,单击“统计“菜单项应完成下列操作:检索出所有职工的工资都大于1220元(不包括1220元)的职工所管理的仓库信息,将结果保存在wh1数据表(wh1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。单击“退出“菜单项,程序终止运行。(注:相关数据表文件
49、存在于考生文件夹下)【解析】本大题考查的主要是利用SQL的嵌套查询来完成两个数据表之间的记录查找,此处应注意运算符IN和NOT IN的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果“下拉框中应选择的类型。【答案】 在命令窗口输入命令:CREATE MENU zg3,系统弹出一个“新建菜单“对话框,在对话框中单击“菜单“图形按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“统计“和“退出“,接着在“统计“菜单行的“结果“下拉框中选择“过程“选项(用于编写程序) ,在“退出“菜单行的“结果“下拉框中选择“命令“选项,如图2-6所示。图2-6单击“统计“菜单行中的“编辑“按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段:*“统计“菜单命令的程序设计*SET TALK OFFSET SAFETY OF