- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、项目、数据库和表操作(12分)
打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。根据下列要求完成项目、数据库及表的操作。
1.?? TS)表的结构,要求:
(1)??????? 修改jg字段的宽度,使之能容纳4位整数和2 位小数;
(2)?????? 将cs字段的标题设置为“库存数”,默认值设置为10;
(3)?????? 设置cs字段的有效性(验证)规则和有效性(验证)信息;库存数必须大于0;
(4)?????? 创建普通索引smrq ,要求先按书名(sm)排序,书名相同时再按入库日期(rkrq)排序。
2.?? JSB添加到SJK中,并在项目中为该表添加编辑说明:“教师表”。
3.?? TS1表的结构,添加一个类型、 宽度和小数位均与jg字段相同的newjg字段,然后计算所有记录的该字段的值:jg值的基础上增加15%。
4.?? KC表为主表、PK表中存在匹配的关键字值,则禁止在KC表中删除记录。
?
二、设计查询(8分)
在TEST项目中已经存在查询chaxun,且在SJK中包含一个名为XSCJST的视图,该视图记录了每一个学生的选课情况及选修课的性质,具体字段包括:学号(xh)、姓名(xm)、 课程代号(hcdh)、成绩(cj)、 是否必修(bxk)、学分(xf);在SJK的学生(XS)表中含有学生的学号(xh)和性别(xb)。按如下要求修改查询:
根据XS表和XSCJST视图查询每个学生的选课门数。要求输出字段包括:xh 、xm、 xb、必修课门数和选修课门数,查询结果按必修课门数从小到大排序。
三、设计菜单(10)分
项目TEST中已存在菜单MenuC,利用菜单设计器按如下要求修改该菜单:
1.? 1所示为“统计分析”菜单项创建子菜单;
2.? SQl命令:基于成绩表(CJ.DBF)统计各门课程代号(kcdh)、不及格人次(注:成绩(cj)小于60分为不及格);
3.?
四、设计表单(10分)
项目TEST中已经存在表单FormC,该表单的功能是:利用JS表中的教师工号数据进行“摇号”,单击“开始”按钮,则文本框中随机的显示教师工号,按回车键停止。按下列要求修改表单,修改完成后运行表单,其效果如图2所示。
1.? 2.?
3.? Shap1的有关属性,使形状控件为三维效果;
4.? Lable2的下方添加一个列表框控件(List1),并将其大小设置为与形状控件Shap1相同(如图2所示);
5.? Click事件代码:要求在源代码之后添加两条命令,使得每次摇出的教师信息(由字符形变量cStr给定)添加到列表框中,且“开始”按钮可再次使用。
五、 程序改错(5分)
下列程序的功能是将一个英文词组中的每个单词的首字母改为大写(单词之间以空格分隔);例如“Microsoft visual foxpro” 经程序转换后为“Microsoft Visual Foxpro”。
其基本算法是:首先在字符串中查找到第一个空格,把空格左边的部分看作为一个单词,从字符串中截取左边的单词,并将首字母改为大写。剩余的部分用同样的方法进行处理,直到剩余的部分没有字符为止。要求:
①???? 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②???? 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
?
cText=”Microsoft visual foxpro”
cResult=SPACE(0)
WHILE NOT EMPTY(cText)
nSpacePos=AT(SPACE(1),cText)
IF nSpacePos0
cWord=LEFT(cText,nSpacePos)
ElSE
cWord=cText
ENDIF
cWord=UPPER(LEFT(cWord,1))+SUBSTR(cWord,2)
cResult=cWord+cResult
cText=LTRIM(SUBSTR(cText,nSpacePos))
ENDDO
WAIT WINDOW cResult ?
?
文档评论(0)