ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:427.53KB ,
资源ID:6067277      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6067277.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PowerBuilder实训报告书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PowerBuilder实训报告书.docx

1、PowerBuilder实训报告书PowerBuilder实训报告书重庆航天职业技术学院 重庆航天职业技术学院继续教育学院PowerBuilder实用教程与实训课程设计任务报告书班级:10计算机网络学号:*姓名:*指导老师:*完成日期:2011/12/23数据库技术课程设计任务书班级:10计算机网络一、 课程设计名称:学生成绩管理系统设计与实现二、 课程设计的目的:通过本次课程设计,学会PB的使用方法。三、 任务要求:1 画出系统设计图。2 给出主要模块的设计和实现步骤。3 给出实现代码。四、 课程设计报告书要求:1 要求有课程设计报告书封面,封面上写清楚标题、班级、姓名、指导老师、完成日期,

2、格式自己设计。2 将本任务书装订在报告书的第二页。3 第三页为教师评语。4 第四页为目录。5 报告书的具体内容如下:1) 系统结构图。2) 数据库建立步骤及截图。3) 系统模块实现步骤及截图。4) 具体代码。6 报告书的最后是本次课程设计的小节和参考文献。五、 作业周期:2011.11.152012.1.5计算机工程系 *重庆航天职业技术学院 教师评语重庆航天职业技术学院 1 课程设计目的52 数据库设计52.1 需求分析.52.2 数据库设计内容.62.3 概念设计.62.4 创建数据库.73 模块及窗口设计.113.1 设计系统管理模块.113.2 设计主窗口和菜单.133.3 设计输入班

3、级信息的数据窗口.173.4 设计访问学生基本信息数据窗口.193.5 设计查询班级开设课程的窗口.203.6 设计访问成绩信息的窗口.233实训心得274 参考文献.27重庆航天职业技术学院 引言数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。计算机技术不断地应用到各行各业,大量的企业把数据存放在数据库中,并且通过T相关的代码语句来进行快速查询,获取比传统方式更高的效率。为了进一步加深和巩固我们所学的PowerBuild

4、er实用教程和实训的基础理论知识,使我们所学的理论能够更好的和实际的专业连接起来。是学生得到收集、处理、应用资料信息的实践训练,同时全面的考核学生所掌握的基础理论知识及其实际的专业能力,从而达到提高学生素质的最终目的。学校安排了实训课程,在这段时间里,希望阩能够利用所学到的只是穿件一个图书管理的数据系统,来达到图书管理的需要。 2011.12.20重庆航天职业技术学院 1 课程设计目的通过本次课程设计,学会PB的使用方法。2 数据库设计熟悉PowerBuilder实用教程和实训实训环境,熟练掌握数据库、表、窗口界面的设计、图形按钮的添加、数据库的链接及函数的创建与应用,确立数据库创建的方向,对

5、图书管理系统进行分析并设计系统实现需要哪几张表以及各表结构,确立数据库创建要求,优化数据库界面的设计。2.1 需求分析书籍是人类进步的阶梯,人类进步的精神粮食。因此,读书显得格外重要。所以学生成绩系统应该是能够为阅读者提供充足的信息和快捷的查询手段的一种方式。学生成绩管理工作繁琐,查阅繁琐,包含大量的信息数据,因此就需要一个完善的学生成绩管理系统来实现对这些数据的有效管理。从而达到领导、老师对查询学生成绩信息进行统一管理,满足用户的需要。重庆航天职业技术学院 随着计算机信息技术的发展,数据库作为信息技术的一部分也在飞速的发展着。使用数据库对图书资源尽心管理工具有着手工管理无法比拟的有点,它检索

6、迅速、查找方便、可靠性高、存储量大、成本低,所以数据库成为了图书管理最主要的选择。2.2数据库设计内容利用PowerBuilder开发一个小型图书管理系统改图书管理系统主要有一下几个功能:图书类型信息查询和编辑,图书信息的查询和编辑,用户的查询和编辑,借阅还书记录的生成和查询。2.3 概念设计概念设计是在需求分析基础上的,用概念数据模型来表述数据以及数据之间的相互联系,从上述的分析中得到图书管理系统的E-R图。重庆航天职业技术学院 学生学号姓名性别出生日期家庭住址班级班号所属修课班级课程开设教师学期班级编号班级名称专业学制入学时间人数学期成绩学时课程名称系统E-R图2.4 创建数据库数据库是一

7、个数据库系统的核心,一切数据都存储在数据库中,我们所进行的数据的查找,删除,更改等行为都是要进入数据库中的。要创建数据库管理系统,那么我们首先要创建一个数据库。重庆航天职业技术学院 在D盘的新建xscj文件夹,再新建data文件夹。打开powerBuilder,新建一个工作空间和应用。在应用open中输入代码:/连接数据库SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=xscj;UID=dba;PWD=sqlCONNECT;if SQLCA.sqlcode0 then messagebox(提示

8、,数据库连接失败!)else open(w_login) /打开登录窗口end if在工具栏上点击Database的图标(或者Tools-Database painter快捷键Shift+F7),弹出数据库创建的对话框。打开ODBC下拉菜单,单击Utilities,然后双击Create ASA Database。Database name键入xscj,保存在在D盘下的xscj文件夹的data文件夹下,如图.重庆航天职业技术学院 图2-1 新建xscj数据库 图 2-2 数据库树状图在数据库中创建表banji、jiben、bjkc、xscj、 user同时为表创建主键,外键。在数据库xscj中选

9、中Tables,右键选择NewTable,弹出表的创建窗口,输入表名,类型,宽度,以及是否为空。完成后点击图标或使用快捷键Ctrl+S 保存。图 2-3 在数据库中创建表banji创建完成后,打开xscj的Tables下拉菜单,选中刚刚创建的表。右键NewprimaryKey为表设置主键bjbh。使用同样的方法建立表jiben,bjkc,xscj,user如图所示:重庆航天职业技术学院 图 2-4 在数据库中创建表jiben图2-5 在数据库中创建表 xscj 图 2-6 在数据库中创建表users分别为其设置主键xh,xm表的关联关系:bjkc-foreignkey关联banji-prima

10、rykey Jiben-primarykey关联jiben-foreignkey Jinben-primarykey关联xscj-foreignkey 重庆航天职业技术学院 图 2-7 表的关联关系3.1系统模块设计点击工具栏的新建图标,或者File-new,选择PB Object中的Windows。使用CommondButton,创建一个用户登陆窗口。在属性页面的Title框内输入登陆,使用两个Create static text control,在其一加入图片,另一text属性文本框内输入学生成绩管理系统。在窗口中添加GroupBox,text属性中输入请输入。在其内添加两个static

11、text control,text。在static text control的text属性输入用户名,密码。本窗口实现用户登录控制重庆航天职业技术学院 图 3-1 登陆窗口在确定按钮下添加代码,如下: string ls_username, ls_password ls_username=trim(sle_1.text) /输入的用户名和密码 ls_password=trim(sle_2.text) if ls_username= or ls_password= then messagebox(提示,用户名和密码不能为空) else SELECT users.name, users.passw

12、ord, users.admin INTO :gs_username, :gs_password, :gs_admin FROM users WHERE ( users.name = :ls_username ) AND ( users.password = :ls_password ); if sqlca.sqlcode=0 then open(w_main) /密码正确,打开主窗口 close(w_login) else li_n=li_n - 1 if li_n0 then重庆航天职业技术学院 messagebox(提示,用户名或密码错误) else messagebox(提示,错误超过

13、3次,自动退出) halt /错误超过3次,退出程序 end if end if end if放弃按钮下输入代码:halt /退出程序3.2 设计主窗口和菜单主窗口和菜单是系统工作的主界面,本例的窗口为带帮助的多文档框架窗口。File|New 在PB Object下选定Menu单击OK,或者使用new小图标弹出new的选择窗口对话框。打开Menu窗口。选定Untitled0右键Insert Submenu Item,输入-系统(&S)回车,选定系统(&S)右键Insert Submenu Item,输入-密码修改,再选定系统(&S)右键选择Insert Submenu Item输入用户管理.使

14、用同样的方法创建Menu的菜单结构。如图所示:重庆航天职业技术学院 图3-2 系统树形菜单结构窗口【系统】菜单下【密码修改】菜单项的Clicked事件脚本如下。Open(w_mmxg)【系统】菜单下【用户管理】菜单项的Clicked事件脚本如下。Open(w_yhgl)【系统】菜单下【退出系统】菜单项的Clicked事件脚本如下。Close(parentwindow)【班级管理】菜单下【录入班级信息】菜单项的Clicked重庆航天职业技术学院 事件脚本如下。Open(w_banji_shuru,w_main,6,Original!)【班级管理】菜单下【修改班级信息】菜单项的Clicked事件脚

15、本如下。Open(w_banji_xiugai,w_main,6,original)【班级管理】菜单下【浏览班级信息】菜单项的Clicked事件脚本如下。Opensheet(w_banji_xiugai,w_main,6,original!)【学生管理】菜单下【录入学生信息】菜单项的Clicked事件脚本如下。Opensheet(w_jiben_shuru,w_main,6,original!)【学生管理】菜单下【修改学生信息】菜单项的Clicked事件脚本如下。Opensheet(w_jiben_xiugai,w_main,6,original!)【学生管理】菜单下【查询学生信息】菜单项的C

16、licked事件脚本如下。Opensheet(w_jiben_chaxun,w_main,6,original!)【课程管理】菜单下【录入/修改开设课程】菜单项重庆航天职业技术学院 的Clicked事件脚本如下。Opensheet(w_bjkc_shuruxiugai,w_main,6,original!)【课程管理】菜单下【查询开设课程信息】菜单项的Clicked事件脚本如下。Opensheet(w_bjkc_chaxun,w_main,6,original!)【成绩管理】菜单下【录入修改成绩】菜单项的Clicked事件脚本如下。Opensheet(w_xscj_shuru,w_main,6

17、,original!)【成绩管理】菜单下【查询个人成绩】菜单项的Clicked事件脚本如下。Opensheet(w_xscj_grcx,w_main,6,original!)【成绩管理】菜单下【查询班级成绩】菜单项的Clicked事件脚本如下。Opensheet(w_xscj_bjkc,w_main,6,original!)【成绩管理】菜单下【查询课程成绩】菜单项的Clicked事件脚本如下。Opensheet(w_xscj_kccx,w_main,6,original!)【窗口】菜单下【层叠窗口】菜单项的Clicked事件重庆航天职业技术学院 脚本如下。W_main.arrangesheet

18、s(cascade!)功能是将主窗口打开的子窗口以层叠方式排列。【帮助】菜单下【关于】菜单项的Clicked事件脚本如下。Open(w_about)【帮助】菜单下【关于】菜单项的Clicked事件脚本如下。ShowHelp(“d:xscjhelpxscjhelp.chm”,index!)3.3 设计输入班级信息的数据窗口菜单栏中选择【File】-【new】或点击new小图标选择Datawindows窗口,选中Freedom单击ok。选择【Quick Select】类型的数据库,选中预览时检索数据的复选框,单击【Next】命令按钮,弹出【Quick Selct】数据窗口对话框。在途中左边的【Ta

19、bles】列表框中列出当前数据库中所有的表名,单击某一个表名,会在【Columns】列表框中列出该表的全部字段。单击某个字段名,单击右边的【Add All】命令按钮。完成字段选重庆航天职业技术学院 择后单击【ok】按钮,接着弹出【Selcet Color and Border Seting】严责和边框设置对话框。图 3-3 表的选择 图 3-4 颜色边框对话框点击【Next】-【Finish】完成选择弹出以下对话框 图 3-5 数据窗口 单击【Save】图标,或【File】-【Save】弹出保存对重庆航天职业技术学院 话框,输入创建 图 3-5 保存对话框数据窗口d_banjishuru生成的

20、SQL Selct语句为:SELCET “banji”.”bjbh”.”banji”.”bjmc” “banji”.”zymc”.”banji”.”xz”.”banji”.”rxsj”.”banji”.”rs”FROM”banji”3.4 设计访问学生基本信息的数据窗口创建数据窗口d_jiben_shuru,显示风格为“Freefrom”,数据源类型为“Quick Selcet”。数据窗口d_jiben_shuru生成的SQL selcet语句为:SELCET重庆航天职业技术学院 “jiben”.”xh”、”jiben”.”xm”.”jiben”.”xb”.”jiben”.”csrq”、”ji

21、ben”.”jtzz”、”jiben”.”bjbh.FROM ”jiben”图 3-4 学生基本信息窗口3.5 设计查询班级开设课程的窗口首先创建一个窗口对象w_bjkc_chaxun,调整期大小,在窗口中放置2个静态文本控件(st_1,st_2)、2个下拉列表框控件(ddlb_1,ddlb_2)、1个命令按钮(cb_1)1个数据窗口控件(dw_1),调整各个控件的位置和大小。位置窗口及其控件的属性见一下表。图 3-5 查询班级开设的课程的窗口重庆航天职业技术学院 对象属性取值W_bjkc_chaxunTitle查询班级开设课程Window TypeMain!ResizableFalseCen

22、terFalseMaxboxFalseMinboxFalseDw_1VScrolloBarTureDataObjectD_bjkc_chaxunSt_1Text选择学期:St_2Text选择班级Cb_1text查询窗口w_bjkc_chaxun的open事件脚本如下。重庆航天职业技术学院 dw_1.settransobject( sqlca)int li_xq, li_bjmc, nstring ls_xq, ls_bjmcSELECT count(distinct xq) INTO :li_xqFROM bjkc;DECLARE xqcursor CURSOR FOR SELECT xq F

23、ROM bjkc GROUP BY xq;OPEN xqcursor ;FOR n=1 TO li_xq FETCH NEXT xqcursor INTO :ls_xq; ddlb_1.additem( ls_xq)NEXTCLOSE xqcursor ;SELECT count(distinct bjmc) INTO :li_bjmcFROM banji;DECLARE bjmccursor CURSOR FOR SELECT banji.bjmc FROM bjkc, banji WHERE bjkc.bjbh = banji.bjbh GROUP BY banji.bjmc;OPEN b

24、jmccursor ;FOR n=1 TO li_bjmc FETCH NEXT bjmccursor INTO :ls_bjmc; ddlb_2.additem( ls_bjmc)NEXTCLOSE bjmccursor ;【查询】按钮的clicked事件脚本如下Dw_1.retrieve(ddlb_1.text、ddlb_2.text)重庆航天职业技术学院 3.6 设计访问成绩信息的窗口首先新建窗口对象w_xscj_shuru,在窗口上放置1个分组框控件、3个静态文本控件、3个下拉列表框控件、3个命令窗口按钮控件和1个数据窗口控件其中,【保存】按钮的enabled属性设成False;数据窗

25、口控件调整到只显示学号、姓名和成绩3列,VScrollBar属性设置为Ture,数据窗口对象为d_xscj_shuru;3个下拉菜单列表框控件的列表项为空,由代码动态生成。图 3-6 班级学生成绩查询 【确定】按钮的代码如下。int li_xh, nstring ls_kcmc, ls_xq, ls_bjmc, ls_xhls_xq=ddlb_1.text重庆航天职业技术学院 ls_bjmc=ddlb_2.textls_kcmc=ddlb_3.textif ls_xq= or ls_bjmc= or ls_kcmc= then messagebox(提示, 选择项不能空!)else SELEC

26、T count(distinct xh) INTO :li_xh FROM xsbj WHERE xsbj.bjmc=:ls_bjmc; DECLARE xhcursor CURSOR FOR SELECT xh FROM xsbj WHERE xsbj.bjmc=:ls_bjmc; OPEN xhcursor ; FOR n=1 TO li_xh FETCH NEXT xhcursor INTO :ls_xh; INSERT INTO xscj ( xh,xq,kcmc,cj ) VALUES ( :ls_xh, :ls_xq, :ls_kcmc, null ); NEXT CLOSE xh

27、cursor ; dw_1.retrieve(ls_xq,ls_kcmc )end if【保存】按钮的代码如下。if dw_1.update(true,false )=1 then dw_1.resetupdate( ) commit; cb_2.enabled=false重庆航天职业技术学院 else rollback; messagebox(错误,保存数据失败!)end if【退出】按钮代码如下。close(parent)课程的下拉列表框的Getfocus事件脚本如下。int li_kcmc,nstring ls_kcmc, ls_xq, ls_bjmcls_xq=ddlb_1.textl

28、s_bjmc=ddlb_2.textif not(ls_xq= or ls_bjmc=) then SELECT count(distinct bjkc.kcmc) INTO :li_kcmc FROM bjkc,banji WHERE (bjkc.bjbh = banji.bjbh) and(banji.bjmc=:ls_bjmc) and (bjkc.xq=:ls_xq); DECLARE kcmccursor CURSOR FOR SELECT bjkc.kcmc FROM bjkc, banji WHERE (bjkc.bjbh = banji.bjbh) and (banji.bjm

29、c=:ls_bjmc) and (bjkc.xq=:ls_xq) GROUP BY bjkc.kcmc; ddlb_3.reset( )重庆航天职业技术学院 OPEN kcmccursor ; FOR n=1 TO li_kcmc FETCH NEXT kcmccursor INTO :ls_kcmc; ddlb_3.additem( ls_kcmc) NEXT CLOSE kcmccursor ;end if窗口的Closequery事件脚本如下。integer rtdw_1.accepttext( )if dw_1.modifiedcount( ) =0 then return 0else rt=messagebox(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1