计算机等级考试二级VFP机试试题12
第十二集
一、基本操作题(共四个子题,1、2题7分,3、4题8分)
1。打开数据库PROD_M和数据库设计器,两个表的必要索引已经建立。
在两个表之间建立永久连接。
2。将类别表中“类别名称”字段的默认值设置为“饮料”。
3。向PRODUCTS表中添加一个字段:销售价格N (8,2)。
4。如果所有商品的售价在进价的基础上增加18.98%,则计算所有商品的价格。
销售价格。
本问题主要评估点:
为索引表建立链接、设置默认值、添加和替换字段。
解决问题的思路:
1。在两个表之间建立连接。选择父表中的主索引,按住鼠标拖动到子表中对应的常用索引,然后松开鼠标,联系就建立了。
2。在表设计器中,选择“类别名称”字段,在“字段有效性-默认值”中填写“饮料”,点击确定。
3。添加字段的方法:
打开PRODUCTS表设计器,将光标移动到最后一个空字段单元格,并输入新的字段名称、字段类型和长度。
4。您可以使用“浏览”来浏览表格,然后在菜单“表格”中选择“替换字段”。该字段为“销售价格”,“替换为”的表达式为“产品”。购买价格*(1+0.1898)”,范围为所有。
命令也可用。
将所有销售价格替换为采购价格*(1+0.1898)。
二。简单应用(2道小题,每题20分,40分)
1。考生文件夹中有一个数据库SDB,包括数据库表STUDENT、SC和COURSE。
结构如下:
学生(学号、姓名、年龄、性别、系号)
SC(学号,课程号,成绩,备注)
课程(课程编号、课程名称、先修课程编号、学分)
有一个程序DBTEST61。考生文件夹下的PRG。这个程序的功能是同时搜索和选修课程。
课程编号为C1和C2的学生的学号。请更正程序中的错误,并调试程序使其正确。
确实有效。考生不允许添加或删除程序行。
2。考生文件夹中有一个数据库SDB,包括数据库表STUDENT、SC和COURSE。
表格结构如下:
学生(学号、姓名、年龄、性别、系号)
SC(学号,课程号,成绩,备注)
课程(课程编号、课程名称、先修课程编号、学分)
在考生文件夹下设计一个表单,考生文件夹是SDB图书馆学生表的窗口输入字段。
,表单上还有一个名为cmdCLOSE的按钮,标题是“关闭”。点击此按钮,
使用ThisForm.release退出表单。最后,表单存储在考生文件夹中,表单文本
这件作品的名字叫S_FORM。
提示:在设计表单时,打开SDB数据库并将学生表拖到表单中。
学生表的窗口输入界面不需要其他设置或修改。
问题1,这个问题是程序修改问题。问题中的第一个错误是“其中课程号= 'c1 '和学号=;”,这里应用了嵌套查询,正确的格式是WHERE field IN (condition),所以“=”要改成“IN”;第二个错误“SELECT * FROM SC”;Question是检索学号所必需的,而这个命令检索的是所有字段,所以*应该改为“学号”;第三个错误出现在“WHERE Student ID = 'c2 '”行中。从标题可以看出,检索条件应该是“课程ID = 'c2 '”
问题2,本题主要考核点是设计形态。
可以通过三种方式调用表单设计器:在项目管理器环境中调用;点击“文件”菜单中的“新建”,打开“新建”对话框,选择“表格”;在命令窗口中输入创建表单命令。
打开表单设计器后,单击表单控件工具栏上的“命令按钮”,在表单上放置一个按钮。将其属性名修改为cmdclose,将Caption属性修改为“close”。双击该按钮,并在打开的程序窗口中输入代码“ThisForm.release”。设计窗口输入界面为提示。
三。综合应用(1题,30分)
考生文件夹下有一个股票管理数据库stock_6,数据库中有stock_mm表和stock_cs。
表,stock_mm的表结构是股票代码C(6),买卖标志L(t .表示买入,and。f .表示销售。
out),单价N(7.2),当前数量N(6)。tock_cs的表结构是股票代码C(6),买入数量。
N(4),价格N(7.2)。stock_mm表中的一种股票对应多条记录,而stock_cs表中有一条记录
一只股票对应一条记录(stock_cs表开头记录数为0)
请编写并运行符合下列要求的程序:
(1)设计一个名为stock_m的菜单,有“计算”和“退出”两个菜单项。
当程序运行时,单击“计算”菜单项计算每只股票的购买次数
价格(买入时)存放在stock_cs表中,带有买卖标记。t .(表示购买)
(注意:stock_cs表中的记录是按照股票代码从小到大的物理顺序存储的)。
(2)根据stock_cs表计算买入次数最多的股票代码,并将买入次数存储在stock_x表中。
(与stock_cs表中对应字段的名称和类型一致)。
单击“退出”菜单项终止程序。
本问题主要评估点:
菜单的建立、结构化查询语言(SQL)中的join查询、查询排序、分组查询、临时表的概念、查询结果的目的地等知识点。
解决这个问题的思路:
第一步:使用菜单设计器定义两个菜单项,在名为“计算”的菜单项的结果列中选择“处理”,点击“编辑”按钮,打开一个窗口,添加“计算”菜单项要执行的命令。在名为“exit”的菜单项的结果列中选择“command”,在下面的“option”列中输入下面的命令退出菜单:SET SYSMENU TO DEFAULT。
第二步:在单击“计算”菜单项后面的“编辑”按钮打开的窗口中添加以下程序代码:
SET TALK OFF &&在程序运行时关闭命令提示符。
设置安全关闭&&不提示重复文件名。
打开数据库STOCK_6 &&打开数据库文件STOCK_6。
选择股票代码,COUNT(*)为买入次数,MAX(单价)为价格;
FROM STOCK _ MM;
凡买卖标的;
按股票代码分组;
按股票代码排序;
放入数组AFieldsValue
&&要获得的结果集计入买入的股票,所以要受WHERE的限制。
&&因为我们想获得每只股票在买入时的买入次数和价格,所以需要使用SELECT语句的分组查询。
&&这里要以股票代码作为分组的依据,所以按股票代码分组要放在WHERE之后。
&&需要按股票代码排序,将股票代码从小到大排序;因为你要的是购买次数。
&&购买时的价格,所以这里使用了集合函数COUNT和max。count()函数可以获取组中的项目数。
&&MAX()函数可以得到一个值。
从STOCK_CS中删除
&&删除STOCK_CS中以前的记录
&&DELETE SQL语句删除表中的记录
&&从[数据库名称!]表名
& &[其中条件表达式11 [AND |或条件表达式2...]]
从数组AfieldsValue插入STOCK_CS
&&INSERT SQL语句将记录追加到表中
& & INSERT SQL语句的基本样式是:INSERT INTO table name(字段名1,字段名2,…)
&&VALUES(表达式1,表达式2,...)
&&还有一种方法可以将数组中的数据追加到表中,或者从一些具有相同字段名的内存变量中追加数据。
& &从数组数组名|从内存变量插入表格名
使用STOCK_CS
包装
&&物理删除已删除的记录。
使用
select * 1 from STOCK _ cs order by number of purchases desc进入表STOCK_X
&&可以在SELECT SQL语句中指定结果集返回的行数n [PERCENT]。如果没有百分比,
&& n指定返回的行数,如果指定了PERCENT,则指定返回的百分比。
&&通过使用INTO TABLE表名,可以将返回的结果集存储在永久表中。
打开安全
开启通话
第三步:用stock_m作为文件名保存菜单,生成菜单,最后运行生成的菜单。
0条评论