计算机等级考试二级VFP机试试题10
第十集
一、基本操作题(共四个子题,1、2题7分,3、4题8分)
1。在考生文件夹下设置项目SALES_M。
2。将考生文件夹中的数据库CUST_M添加到SALES_M项目中。
3。在CUST_M数据库的CUST表中添加一个字段:联系人电话号码C(12),字段值允许“空”
4。将“铁路”设计为CUST_M数据库中订单1的“交货方式”字段的默认值。
本问题主要评估点:
项目建立,向项目添加数据库,添加字段,设置字段默认值。
解决问题的思路:
1。创建项目
要创建项目,可以使用“文件”菜单中的“新建”命令。
2。将数据库添加到项目中:
在项目管理器的“数据”选项卡中选择数据库,点击“添加”,在“打开”对话框中选择要添加的数据库。
3。打开CUST表的表设计器,将光标移动到最后一个空字段单元格,输入新的字段名称、字段类型和长度。如果允许字段值为空,则选择“NULL”项。
4。在表设计器中,选择“交货方式”字段,在“字段有效性-默认值”中填写“铁路”(此处为双引号),点击确定。
二。简单应用(2道小题,每题20分,40分)
1。在考生文件夹下,有一个数据库SDB,其中包含数据库表STUDENT、SC和
当然.表格结构如下:
学生(学号、姓名、年龄、性别、系号)
SC(学号,课程号,成绩,备注)
课程(课程编号、课程名称、先修课程编号、学分)
在表单向导中选择一对多表单向导创建表单。要求:来自父表学生
选择学号和姓名字段,从子表SC中选择课程号和年级字段,并选择表单样式。
“浮雕”,按钮类型为“文本按钮”,按学号降序排列,表单标题为“学生”
结果”,最后将表单存储在考生文件夹中。表单的文件名是form1。
2。考生文件夹中有一个数据库SDB,包括数据库表STUDENT、SC和COURSE。建设
设置GRADELIST,分数大于等于60的本地视图,按学号升序排序,按顺序排列。
该序列包含字段学号、姓名、年级和课程名称,然后使用新建立的视图查询该视图。
并将结果保存在表v_grade中。
问题1,本题主要考核点是使用表单向导制作表单。
要启动表单向导,您可以从“文件”菜单中选择“新建”,或者单击工具栏上的“新建”按钮打开“新建”对话框。选择文件类型的形式,然后单击向导按钮。或者,在“工具”菜单上,选择“向导”子菜单,选择“表单”,或者直接单击工具栏上的“表单向导”图标按钮。在“向导选择”对话框中,选择“一对多表单向导”。然后按照表单向导的说明和题目的要求进行操作。
问题2,本题主要考核点是创建视图。
首先打开数据库SDB,在数据库设计器中右键单击,选择“创建本地视图”打开“视图设计器”。将数据库的三个表添加到视图中,并按照提示进行连接。选择字段ID,名称,年级和课程名称,选择" sc。Grade”,在条件中选择“> =”,在示例中输入“60”(不带双引号)。关闭并保存。在数据库设计器中打开视图,使用复制到v_grade命令或从“文件”菜单中选择“导出”,并将结果保存在新表v_grade中。
三。综合应用(1题,30分)
考生文件夹下有一个股票管理数据库stock_4,数据库中有stock_mm表和stock_cc。
表,stock_mm的表结构是股票代码C(6),买卖标志L(t .表示买入,and。f .表示销售。
out),单价N(7.2),当前数量N(6)。stock_cc的表结构是股票代码C(6),持仓。
数量N(8)。stock_mm表中的一只股票对应多条记录,stock_cc表中的一只股票对应。
一条记录(stock_cc表开头的记录数为0)。
请编写并运行符合下列要求的程序:
设计一个名为menu_lin的菜单,里面有“计算”和“退出”两个菜单项。
程序运行时,点击“计算”菜单项应完成以下操作:
(1)根据stock_mm统计每只股票的持仓情况,并将结果存储在stock_cc表中。计算
方法:买卖标的是。t .(表示买入),当前数量加上对应股票的持仓数量;
买卖标志是。f .(表示卖出),并从对应股票的持仓数量中减去当前数量。
(注意:stock_cc表中的记录是按股票代码降序存储的)。
(2)将stock_cc表中仓位最少的股票信息存入空闲表stock_x(用
stock _ cc表结构相同)。
单击“退出”菜单项终止程序。
本问题主要评估点:
菜单的建立、结构化查询语言(SQL)中的join查询、查询排序、临时表的概念、查询结果的目的地等知识点。
解决这个问题的思路:
第一步:使用菜单设计器定义两个菜单项,在名为“计算”的菜单项的结果列中选择“处理”,点击“编辑”按钮,打开一个窗口,添加“计算”菜单项要执行的命令。在名为“exit”的菜单项的结果列中选择“command”,在下面的“option”列中输入下面的命令退出菜单:SET SYSMENU TO DEFAULT。
第二步:在单击“计算”菜单项后面的“编辑”按钮打开的窗口中添加以下程序代码:
SET TALK OFF &&通常需要关闭程序中命令结果的显示。
打开数据库STOCK_4 &&打开数据库文件STOCK_4。
从STOCK_MM中选择股票代码SUM(当前数量)作为持仓量;
根据股票代码买卖标记组的位置;
到光标表格1
&&
从STOCK_MM中选择股票代码SUM(当前数量)作为持仓量;
凡未按股票代码买卖标记的集团;
到光标表格2
选择表格1。股票代码,(简表1。职位数量-表格2。位置数)作为位置数;
来自CurTable1,CurTable2
WHERE CurTable1。股票代码=CurTable2。股票代码;
按表格排序1。股票代码;
放入数组AfieldsValue
&&因为每只股票的买入量和卖出量之和在两个不同的临时表CurTable1和CurTable1中
&&CurTable2。所以如果想得到两者的区别,需要做一个join查询,可以通过“股票代码”来完成。
&&作为连接条件,放在WHERE之后;您可以使用ORDER BY子句来确定查询的排序基础,
&&这里按股票代码升序排序:按股票代码排序;您可以使用INTO ARRAY数组名子句
&&将SELECT语句的查询结果放在一个数组中,供后面的程序使用。
从STOCK_CC删除
&&删除STOCK_CC表中以前的记录
&&DELETE SQL语句可以将符合指定条件的记录标记为删除。
& &从[数据库名!]表名
& &[其中筛选条件1 [AND |或筛选条件2...]]
从数组AfieldsValue插入STOCK_CC
&&将每个股票的代码和位置号的数组插入到STOCK_CC表中。
&&INSERT SQL语句可以向指定的表追加新记录。
&&INSERT可以将数组中的值作为记录值直接追加到表中,
&&通过使用FROM ARRAY数组的变量名来实现。
全部关闭
使用STOCK_CC
包装
&&物理删除标记为删除的记录。
使用
通过将数量保存到表STOCK_X中,从stock _ cc订单中选择* 1
&&SELECT语句可以将返回结果集中的行数限制n[percent ], n指定返回的行数。& &如果没有指定PERCENT,n是返回的行数。如果指定了PERCENT,n是返回的结果集行的&&百分比。INTO TABLE表名可以生成一个结果集到一个表中。
开启通话
第三步:将编辑好的菜单保存为menu_lin.mnx,生成menu_lin.mpr并运行。
0条评论