1、上海市高等教育自学考试计算机信息管理、网络、软件专业(独立本科段)数据库系统原理实践性环节考核大纲一、考核目标1. 具有熟练使用PowerBuilder 9。0建立本地数据库和基本表、视图的能力。2掌握使用PowerBuilder 9。0建立数据库应用程序的方法.二、运行环境1。 平台:Windows 20002。 PowerBuilder 9。0 软件三、考核方式实行闭卷考核。四、考核时间和日期上机考核每次为1小时;考核日期另行规定.五、考核范围1. 数据库的基本操作建立数据库;连接数据库;建立表、主键、外键;数据插入、查询、删除和修改;建立视图。2。 建立数据库应用程序建立工作空间、目标、
2、应用;建立数据窗口对象;建立主窗口(含数据窗口、命令按鈕、静态文本框和单行编辑器等控件);书写脚本;运行应用程序。六、上机参考书籍及内容数据库系统原理,全国高等教育自学考试指导委员会组编,丁宝康主编,经济科学出版社2007年版。教材“第8章 PowerBuilder 9。0简介及应用”中 8。2节(“学生选课系统”开发过程)中“数据操作窗口”的有关内容。具体上机样题见下面内容七.七、上机样题(一)上机题目在PowerBuilder9。0环境中完成下面两个任务:建立一个有关学生、课程、选修等有关信息的数据库;建立有关数据浏览、插入、查找、修改和删除等操作的应用程序及界面。(二)操作步骤 (应严格
3、按照下列步骤操作)1。 建立数据库newdb (数据库文件newdb.db必须保存在C:temp目录下)。(自动连接数据库,ODBC数据源名也为newdb)。2。 在数据库newdb中建立三张表:s(sno,sname,age,sex)c(cno,cname,tname)sc(sno,cno,score)上述属性中,age和score为smallint型,其余均为char型。在表s中,主键是sno;在表c中,主键是cno;在表sc中,主键是(sno,cno),外键有两个:sno和cno.请分别为这三个表输入下列记录:s表:c表:sc表:snosnameagesexcnocnametnamesn
4、ocnoscores1wen18mc1pascalshis1c195s2bao25fc2basiclous1c290s3li20fc3cmas1c385s4he22mc4c+mens1c480s2c4753建立统计学生平均成绩的视图:s_sc(sno,sname,avg_score)(注意:建立视图后,应把数据库先Disconnect,再Connect)4. 建工作空间 (C:tempstudent.pbw)建目标 (C:tempstudent.pbt)建应用 (C:tempstudent。pbl)5。 在应用中建立四个数据窗口对象d_s、d_sc、d_c、d_s_sc,分别显示三个表s、sc
5、、c和视图s_sc的数据.6。 在应用中建立主窗口w_main,主窗口中应包含:四个数据窗口控件(dw_1、dw_2、dw_3、dw_4),分别显示表s、表sc、表c、和视图s_sc的数据。八个命令按钮控件。一个静态文本控件:放“输入数据:”字样。一个单行编辑器控件(sle_1):用于输入数据,以便进行查找和修改。程序的主界面如下:显示表C的数据dw_3显示表SC的数据dw_2显示表S的数据dw_1显示视图S_SC的数据dw_4BROWSEUPDATE_SCOKDELETE_SCEXITINSERT_SC陈QUERY_SNORESET输入数据:单行编辑器控件(sle_1)8个命令按钮控件7.
6、在应用各对象中书写脚本,使该应用具有下列功能: 应用运行开始时,出现w_main窗口,其中四个数据窗口控件中内容为空白. 点击“BROWSE按钮,显示表s、表sc、表c和视图s_sc的内容,并可浏览。 点击“RESET”按钮,能把四个数据窗口控件中内容置为空白。 点击“INSERT_SC”按钮,可在sc表中插入一条记录,内容请自定;再点击“OK”按钮,可把这条记录插入到数据库中。 点击“DELETE_SC”按钮,可在sc表中删除当前记录;再点击“OK”按钮,可把这条记录从数据库中删除。 在单行编辑器中输入一个整数(譬如5)后,点击“UPDATE_SC”按钮,可将sc表当前记录的成绩值增加这个整
7、数值(5);再点击“OK按钮,可把这条记录的修改写入数据库中。 在单行编辑器中输入一个学号(譬如s1)后,点击“QUERY_SNO按钮,可在s表、sc表和视图s_sc中显示该学生情况和其所学课程及平均成绩情况. 点击“EXIT按钮,返回(退出应用)。8运行应用student。9据考场规定的方法,把C:temp目录下的内容发送到服务器的存储器中。(三)参考答案 (编写脚本)1。在应用student.pbl的open事件中写脚本:SQLCA.DBMS=ODBC/数据库厂商的名称SQLCA。AutoCommit=False/定义程序是手工提交事务SQLCA。DBParm=”ConnectString
8、=DSN=newdb/DBMS所需的额外信息/上述三条可从DB Profile对话框中的Preview选项的内容复制、粘贴得到/connect;/连接数据源newdb!open(w_main)/打开主窗口w_main2在主窗口w_main的各个对象中书写脚本: 在主窗口w_main的open事件中写脚本:dw_1.settransobject(sqlca)/给数据窗口控件dw_1设置通讯区域sqlcadw_2.settransobject(sqlca)/给数据窗口控件dw_2设置通讯区域sqlcadw_3。settransobject(sqlca)/给数据窗口控件dw_3设置通讯区域sqlca
9、dw_4.settransobject(sqlca)/给数据窗口控件dw_4设置通讯区域sqlcasle_1.setfocus()/将焦点设置到控件sle_1 命令按钮BROWSE的Clicked事件:dw_1。retrieve()/从数据库的s表中检索全部数据dw_2。retrieve()/从数据库的sc表中检索全部数据dw_3.retrieve()/从数据库的c表中检索全部数据dw_4。retrieve()/从视图s_sc中检索全部数据 命令按钮RESET的Clicked事件:string querydw_1。reset()/清除数据窗口控件dw_1中的所有行dw_2。reset()/清除
10、数据窗口控件dw_2中的所有行dw_3。reset()/清除数据窗口控件dw_3中的所有行dw_4。reset()/清除数据窗口控件dw_4中的所有行query=”/置过滤条件为空dw_1。setfilter(query)/修改dw_1的过滤条件dw_1。filter()/过滤数据dw_2。setfilter(query)/修改dw_2的过滤条件dw_2。filter()/过滤数据dw_4。setfilter(query)/修改dw_4的过滤条件dw_4。filter()/过滤数据sle_1.text=”/置单行编辑器为空sle_1.setfocus()/将焦点设置到控件sle_1 命令按钮I
11、NSERT_SC的Clicked事件:dw_2.insertrow(0)/在sc表的尾部插入一行dw_2。scrolltorow(dw_2。rowcount()/把指定行设置为当前行dw_2.setfocus()/将焦点设置到控件dw_2 命令按钮DELETE_SC的Clicked事件:dw_2.deleterow(0)/从数据库的sc表中删除当前行 命令按钮UPDATE_SC的Clicked事件:int g1,g2g1=integer(sle_1.text)/取单行编辑器中的整数g2=dw_2.GetItemNumber(dw_2.GetRow(),3) /取当前记录的原grade值dw_2
12、。SetItem(dw_2.GetRow(),3,g2+g1) /在原grade值上增加g1值 命令按钮OK的Clicked事件:if dw_2。update()=1 then/将修改传送到数据库,成功否commit;/传送成功,事务提交elserollback;/传送不成功,事务回退end if 命令按钮QUERY_SNO的Clicked事件:string querydw_3。reset()/清除数据窗口控件dw_3中的所有行query=”sno=+sle_1。text+”/设置过滤条件dw_1。setfilter(query)/修改dw_1的过滤条件dw_1.filter()/过滤数据dw
13、_1。retrieve()/从s表中显示检索到的数据dw_2.setfilter(query)/修改dw_2的过滤条件dw_2.filter()/过滤数据dw_2。retrieve()/从sc表中显示检索到的数据dw_4.setfilter(query)/修改dw_4的过滤条件dw_4。filter()/过滤数据dw_4。retrieve()/从视图s_sc中显示检索到的数据sle_1.setfocus()/将焦点设置到控件sle_1 命令按钮EXIT的Clicked事件:close(parent)/关闭按钮所在的窗口(四)程序运行结果程序编制完成以后,单击PowerBar上的Run按钮就可以运行程序了,程序界面如下所示.(五)系统中各对象之间的联系示意图 应用窗口 数据窗口 数据库Application windows DataWindows Database d_c d_snewdb表S表SC表Cstudentd_sc(数据源名也是newdb)w_mainopendw_4dw_3dw_2dw_1(大纲结束)EOKDRBIUQ输入数据:视图S_SC d_s_sc4俱乐部名称:自考乐园;俱乐部id:5346389(请牢记它哦在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部);俱乐部url地址:
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100