编辑: kr9梯 2019-12-25
上机模拟试卷0406: 项目、数据库和表操作(12分) 打开软盘根目录下的项目文件TEST, 在该项目中已有一数据库SJK.

1.按如下要求修改SJK中工资(GZ)表的结构: (1)将实发工资(sfgz)字段的数据类型修改为货币型. (2)设置工号(gh)字段的格式,使工号中的字母自动大写. (3)删除yfgz字段. (4)设置基本工资(jbgz)字段的有效性规则:基本工资在400元到1800元之间. (5)创建一个普通索引recsort,要求按物理记录顺序的倒序排序,即1号记录排最后. (6)为GZ表设置注释:教师工资表. 2.在项目信息中为TEST项目附加图标文件 A:NET.ICO . 3.将GZ表中基本工资(jbgz)在1000元以上(包括1000元)记录的其他(qt)字段清为零. 4.设置GZ表的删除触发器,只有当JS表打开时才允许删除GZ表中的数据. 5.JS表已存在主索引jsgh,索引表达式为gh,GZ表已存在主索引gzgh1,索引表达式为gh.以JS表为主表,GZ表为子表,基于gh建立永久关系,并设置参照完整性:删除限制. 设计查询(8分) 按如下要求修改TEST项目中的查询CHAXUN: 为了检查工资(GZ)表中有没有遗漏某些教师,可以基于JS表和GZ表查询出在教师表中存在而在工资表中不存在的那些教师记录.要求输出教师表的所有字段和工资表的工号(gh)字段,查询结果中相同的行只需出现一次,并按JS表的gh字段升序排序.(提示:使用 左联接 联接JS和GZ表,然后在结果中选出GZ.gh字段为Null值的记录) 设计菜单(5分) 项目TEST中已存在菜单MENUP,其中已定义了 文件 、 课程管理 、 成绩管理 和 教师任课管理 四个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示. 1.为 文件 菜单栏下的 恢复系统菜单 设置快捷键 CTRL+R . 2.为 课程管理 菜单栏下的 课程查询 菜单项设置子菜单,该子菜单包括二个菜单项 课程基本信息查询 、 学生选课查询 ,并用分隔线隔开. 3.为 成绩管理 菜单栏下的 成绩查询 菜单项设置命令,当执行该菜单项时,调用当前目录下的表单文件FORMQ. 4. 废止 教师任课管理 菜单栏下的 教师基本情况查询 . 5. 将 CLEAR 命令添加到菜单的 清理 代码段中. 设计表单(10分) TEST项目中已经存在表单FORMP,该表单用来统计教师基本工资的最高值、最低值和平均值.已知Grid1的RecordSource属性值为工资(GZ)表,工号列的ControlSource属性值为gz.gh,基本工资列的ControlSource属性值为gz.jbgz.当选择选项按钮组中的某一项时,在表单中Text1文本框内显示相应的统计值.根据下列要求修改表单,完成以后运行表单,效果如图2所示. 1.为Grid1中 姓名 列设置ControlSource属性,使得该列的内容与教师表的姓名相对应. 2.选项按钮组的默认选项为 最高值 . 3.Text1可获得焦点但不可编辑其中的值. 4.将 基本工资 列中的数据格式设置为:小数点向左每三位数字用逗号分隔,如图2所示. 5.完善Op1的Click事件代码,使点击不同的选项按钮时,Text1中显示相应的统计值. 6.在表单的Init事件中添加代码,使表单运行时Text1中显示教师基本工资的最高值. 程序改错(5分) 有3个非零数字,用它们可以组合出6个不同的三位数,这些三位数的和是2886.如果将这3个数字按从大到小和从小到大的顺序依次排列成2个三位数,它们的差是396.下列程序的功能是找出并显示这3个数字.要求: 1. 项目中有一个程序文件PCODE,将下列程序输入到其中并进行修改. 2. 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目. nCount=0 FOR a=1 TO

9 FOR b=a TO

9 FOR c=b TO

9 x=ALLT(STR(a)) y=ALLT(STR(b)) z=ALLT(STR(c)) e=MAX(a,b,c) f=MIN(a,b,c) IF VAL(x+y+z)+VAL(x+z+y)+VAL(y+x+z)+VAL(y+z+x);

+VAL(z+x+y)+VAL(z+y+x)=2886;

OR VAL(e)*100+VAL(f)-VAL(f)*100-VAL(e)=396 nCount=nCount+1 ? 第 +ALLT(STR(nCount))+ 组数字为: +x+ , +y+ , +z ENDIF ENDFOR ENDFOR ENDFOR 答案 项目、数据库和表操作(12分) 打开软盘根目录下的项目文件TEST, 在该项目中已有一数据库SJK. 1.按如下要求修改SJK中工资(GZ)表的结构: (1)将实发工资(sfgz)字段的数据类型修改为货币型. (2)设置工号(gh)字段的格式,使工号中的字母自动大写. 设置工号字段的 format 属性为:!(感叹号,不带引号等其它字符) 具体操作步骤见第五套题目答案 (3)删除yfgz字段. (4)设置基本工资(jbgz)字段的有效性规则:基本工资在400元到1800元之间. (5)创建一个普通索引recsort:RECNO() 降序排列 具体操作步骤见第五套题目答案 (6)为GZ表设置注释:教师工资表. 2.在项目信息中为TEST项目附加图标文件 A:NET.ICO . 在项目的 其它 选项卡中单击 添加 按钮,选择net.ico(需要设定要浏览的文件的类型 所有文件 ) 3.将GZ表中基本工资(jbgz)在1000元以上(包括1000元)记录的其他(qt)字段清为零. 方法1:命令行:Update jbgz set qt=0 where jbgz>

=1000 方法2:命令行:replace qt with

0 for jbgz>

=0 4.设置GZ表的删除触发器:USED('

JS'

) 5.JS表已存在主索引jsgh,索引表达式为gh,GZ表已存在主索引gzgh1,索引表达式为gh,以JS表为主表,GZ表为子表,基于gh建立的永久关系,并设置参照完整性:删除限制. 设计查询(8分) 按如下要求修改TEST项目中的查询CHAXUN: 为了检查工资(GZ)表中有没有遗漏某些教师,可以基于JS表和GZ表查询出在教师表中存在而在工资表中不存在的那些教师记录.要求输出教师表的所有字段和工资表的工号(gh)字段,查询结果中相同的行只需出现一次,并按JS表的gh字段升序排序.(提示:使用 左联接 联接JS和GZ表,然后在结果中选出GZ.gh字段为Null值的记录) SELECT DISTINCT Js.*, Gz.gh;

FROM sjk!js LEFT OUTER JOIN sjk!gz ;

ON Js.gh = Gz.gh;

Having Gz.gh IS NULL;

ORDER BY Js.gh 具体操作步骤见第五套题目答案 设计菜单(5分) 项目TEST中已存在菜单MENUP,其中已定义了 文件 、 课程管理 、 成绩管理 和 教师任课管理 四个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示. 1.为 文件 菜单栏下的 恢复系统菜单 设置快捷键 CTRL+R . 点击菜单项右侧的 选项 块,即可弹出一个窗口 在弹出窗口的 键标签 中同时按下 CTRL+L . 2.为 课程管理 菜单栏下的 课程查询 菜单项设置子菜单,该子菜单包括二个菜单项 课程基本信息查询 、 学生选课查询 ,并用分隔线隔开. 分隔线:菜单项的文字内容为 - ,显示出来就是分隔线 3.为 成绩管理 菜单栏下的 成绩查询 菜单项设置命令:DO FORM FORMQ. 菜单项的结果有 命令 、 过程 、 子菜单 等,选择 命令 在命令文本框中输入 do form formq 4. 将 教师任课管理 菜单栏下的 教师基本情况查询 废止不可用. 设置菜单的 skip 属性为.T..skip对应的中文为 跳过 5. 将 CLEAR 命令添加到菜单的 清理 代码段中. 首先进入菜单修改界面 点击 显示 菜单中的 常规选项 设计表单(10分) 姓名列的ControlSource属性值为js.xm (1) Op1的Value属性值为1 (1) Text1的ReadOnly属性值为.T.1) 基本工资列下的文本框Text1的InputMask属性值为999,999,999.99,基本工资列Column3的Sparse属性值为.F.2) CASE This.Value =

1 (3) ThisForm.Text1.Value = cGztmp.最高值 CASE This.Value =

2 ThisForm.Text1.Value = cGztmp.最低值 CASE This.Value =

3 ThisForm.Text1.Value = cGztmp.平均值 ThisForm.Op1.Click(2) 程序改错(5分) e=MAX(a,b,c) &

&

e=MAX(x,y,z) 或e=ALLT(STR(MAX(a,b,c))) f=MIN(a,b,c) &

&

f=MIN(x,y,z) 或f=ALLT(STR(MIN(a,b,c))) OR VAL(e)*100+VAL(f)-VAL(f)*100-VAL(e)=396 &

&

OR改为AND 答案 项目、数据库和表操作(12分) 打开软盘根目录下的项目文件TEST, 在该项目中已有一数据库SJK. 1.按如下要求修改SJK中工资(GZ)表的结构: (1)将实发工资(sfgz)字段的数据类型修改为货币型. (2)设置工号(gh)字段的格式,使工号中的字母自动大写. (3)删除yfgz字段. (4)设置基本工资(jbgz)字段的有效性规则:基本工资在400元到1800元之间. (5)创建一个普通索引recsort:RECNO() (6)为GZ表设置注释:教师工资表. 2.在项目信息中为TEST项目附加图标文件 A:NET.ICO . 3.将GZ表中基本工资(jbgz)在1000元以上(包括1000元)记录的其他(qt)字段清为零. 4.设置GZ表的删除触发器:USED('

JS'

) 5.JS表已存在主索引jsgh,索引表达式为gh,GZ表已存在主索引gzgh1,索引表达式为gh,以JS表为主表,GZ表为子表,基于gh建立的永久关系,并设置参照完整性:删除限制. 设计查询(8分) 按如下要求修改TEST项目中的查询CHAXUN: 为了检查工资(GZ)表中有没有遗漏某些教师,可以基于JS表和GZ表查询出在教师表中存在而在工资表中不存在的那些教师记录.要求输出教师表的所有字段和工资表的工号(gh)字段,查询结果中相同的行只需出现一次,并按JS表的gh字段升序排序.(提示:使用 左联接 联接JS和GZ表,然后在结果中选出GZ.gh字段为Null值的记录) SELECT Js.*, Gz.gh;

FROM sjk!js LEFT OUTER JOIN sjk!gz ;

ON Js.gh = Gz.gh;

HAVING Gz.gh IS NULL;

ORDER BY Js.gh 设计菜单(5分) 项目TEST中已存在菜单MENUP,其中已定义了 文件 、 课程管理 、 成绩管理 和 教师任课管理 四个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示. 1.为 文件 菜单栏下的 恢复系统菜单 设置快捷键 CTRL+R . 2.为 课程管理 菜单栏下的 课程查询 菜单项设置子菜单,该子菜单包括二个菜单项 课程基本信息查询 、 学生选课查询 ,并用分隔线隔开. 3.为 成绩管理 菜单栏下的 成绩查询 菜单项设置命令:DO FORM FORMQ. 4. 将 教师任课管理 菜单栏下的 教师基本情况查询 废止不可用. 5. 将 CLEAR 命令添加到菜单的 清理 代码段中. 设计表单(10分) 姓名列的ControlSource属性值为js.xm (1) Op1的Value属性值为1 (1) Text1的ReadOnly属性值为.T.1) 基本工资列下的文本框Text1的InputMask属性值为999,999,999.99,基本工资列Column3的Sparse属性值为.F.2) CASE This.Value =

1 (3) ThisForm.Text1.Value = cGztmp.最高值 CASE This.Value =

2 ThisForm.Text1.Value = cGztmp.最低值 CASE This.Value =

3 ThisForm.Text1.Value = cGztmp.平均值 ThisForm.Op1.Click(2) 程序改错(5分) e=MAX(a,b,c) &

&

e=MAX(x,y,z) 或e=ALLT(STR(MAX(a,b,c))) f=MIN(a,b,c) &

&

f=MIN(x,y,z) 或f=ALLT(STR(MIN(a,b,c))) OR VAL(e)*100+VAL(f)-VAL(f)*100-VAL(e)=396 &

&

OR改为AND ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题