数据库应用开发课程设计报告.doc
《数据库应用开发课程设计报告.doc》由会员分享,可在线阅读,更多相关《数据库应用开发课程设计报告.doc(31页珍藏版)》请在三一办公上搜索。
1、课程设计报告院 系: 城市学院 专 业: 计算机应用 课 程: 数据库应用开发 2009年 5 月 21 日一、 需求分析 数据库应用系统的设计与开发一直以来都是计算机应用的重要应用领域之一。在该应用领域中,PowerBuilder无疑是具有相当代表性的一种数据库前端开发工具。PowerBuilder完全基于客户/服务器体系结构,并且采用面向对象和可视化开发技术。另外,随着其自身的多次升级换代,PowerBuilder的功能也在不断强大,因此它除了可以设计传统的基于客户/服务器体系结构的应用之外,也能够构建和实现分布式系统的应用。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从
2、而从侧面达到提高学校的教学方面软件质量。可以说它适用于每一所高校,因此很有开发价值。它具有使用范围广,实用性强,使用简单,所花经费少等优点。可以肯定的说它将在高校的教学的使用过程中其优点将得到最充分的体现。它的功能就是教师通过输入用户名和口令登陆到教学管理数据库中,从而实现成绩摄入,对教师信息的维护等。学生则通过输入学号与口令进行登陆,进去以后可以对自己的信息进行查询,并且也可以进行选课与退课;这当中学生对自己的成绩只能看,不能删除和修改。当然还要有一个管理员,他在整体上能实现对系统进行维护与保护。该系统主要包括学生信息查询,教务信息维护,和学生选课三大部分功能。在这当中管理员的权限最大,教师
3、次之,学生最少。二、 模块功能分析本次实验主要模块及功能分别为:管理员模块,功能:管理员账号维护,班级管理,教师管理,(学生管理),课程管理,(开课管理)。教师模块,功能:(学生管理) ,成绩输入,个人信息修改,密码管理。学生模块,功能:成绩查询,课程选修,个人信息修改,密码管理。 (开课管理模块,意味着某名教师只能输入其执教班级的成绩,课程选修模块,则在学生未选修课程前教师不能输入成绩。)三、 数据库表结构1.学生表xs字段名字段类型字段说明xhChar(6)学生学号(主键)xmvarchar(8)姓名xbChar(2)性别bjhchar(6)班级号xs_pwdChar(16)登录密码2教师
4、表js字段名字段类型字段说明jshChar(6)教师号(主键)jsmVarchar(16)教师名js_pwdvarChar(16)登陆密码js_bzvarChar(16)备注js_xbChar(4)性别3.管理员表gl字段名字段类型字段说明glhChar(6)管理员号(主键)gl_pwdvarChar(16)登陆密码4.成绩表cj字段名字段类型字段说明xhChar(6)学号(主键)cj整型成绩kchchar(6)课程号(主键)5.课程表kc字段名字段类型字段说明kchChar(6)课程号(主键)kcmchar(16)课程名6班级表bj字段名字段类型字段说明bjhChar(6)班级号(主键)bj
5、mchar(16)班级名7.教师开课表jsk字段名字段类型字段说明kchChar(6)课程号(主键)jshchar(6)教师号bjhchar(6)班级号(主键)关系视图四、 详细模块界面、代码及注释1、登陆界面(1) 在“登陆”中加入代码:user=sle_user.textstring temp,temp1temp=temp1=if ddlb_role.text= thenmessagebox(error,请选择登陆身份)end ifif ddlb_role.text=管理员 thenselect glh,gl_pwd into :temp,:temp1from glwhere glh=:s
6、le_user.text; if temp= thenmessagebox(error,没有该帐号) elseif temp1sle_pwd.text thenmessagebox(error,密码输入错误) elseopen(adminmain)close(winlogin)returnend ifend ifif ddlb_role.text=学生 thenselect xh,xs_pwd into :temp,:temp1from xswhere xh=:sle_user.text;if temp= thenmessagebox(error,没有该帐号) elseif temp1sle_
7、pwd.text thenmessagebox(error,密码输入错误) elseopen(xsmain)close(winlogin)returnend ifend ifif ddlb_role.text=教师 thenselect jsh,js_pwd into :temp,:temp1from jswhere jsh=:sle_user.text;if temp= thenmessagebox(error,没有该帐号)elseif temp1sle_pwd.text thenmessagebox(error,密码输入错误) elseopen(jsmain)close(winlogin)
8、returnend ifend if(2)在“取消”中加入代码:close(parent)设置一全局变量:2、管理员模块adminmain窗口类型设置为mdi!(1)帐号维护 在菜单点击事件中加入代码:opensheet(adminzhwh,parentwindow) 在窗口的open事件中加入代码:dw_1.settransobject(sqlca)dw_1.retrieve()保存按钮中加入代码:dw_1.update()新增按钮中加入代码:dw_1.insertrow(0)删除按钮中加入代码:integer rowrow=dw_1.getrow()if dw_1.getitemstrin
9、g(row,glh)=user thenmessagebox(error,不能删除本人帐号)elsedw_1.deleterow(0)dw_1.update()end if退出按钮中加入代码:close(parent)(2)教师管理删除按钮中加入代码:dw_1.deleterow(0)dw_1.update()重置按钮中加入代码:integer rowrow=dw_1.getrow()dw_1.setitem(row,js_pwd,)dw_1.enabled=true(3)班级管理(4)学生管理(5)课程管理(5)开课管理新增按钮中加入代码:insert into jsk(kch,jsh,bj
10、h)values(:ddlb_1.text,:ddlb_2.text,:ddlb_3.text);if sqlca.sqlcode0 thenmessagebox(erreor,sqlca.sqlerrtext)end ifdw_1.retrieve()此窗口open时间中加入代码:dw_1.settransobject(sqlca)dw_1.retrieve()string kk,kk1,kk2declare cursor_kk cursor forselect kchfrom kc;open cursor_kk;do while truefetch cursor_kk into :kk;i
11、f sqlca.sqlcode = 100 or sqlca.sqlcode = -1 thenexitend ifddlb_1.additem(kk)loopclose cursor_kk;declare cursor_kk1 cursor forselect jshfrom js;open cursor_kk1;do while truefetch cursor_kk1 into :kk1;if sqlca.sqlcode = 100 or sqlca.sqlcode = -1 thenexitend ifddlb_2.additem(kk1)loopclose cursor_kk1;de
12、clare cursor_kk2 cursor forselect bjhfrom bj;open cursor_kk2;do while truefetch cursor_kk2 into :kk2;if sqlca.sqlcode = 100 or sqlca.sqlcode = -1 thenexitend ifddlb_3.additem(kk2)loopclose cursor_kk2;3、教师模块(1) 学生管理新建实例变量:窗口open事件中加入代码:st_1.text=user+号教师,欢迎您dw_1.settransobject(sqlca)dw_1.retrieve()in
13、sert_bool=falsedelete_bool=falseupdate_bool=falsedeclare cursor_xs cursor forselect bjmfrom bj;open cursor_xs;do while truefetch cursor_xs into :cursor_class;if sqlca.sqlcode = 100 or sqlca.sqlcode = -1 thenexitend ifloopclose cursor_xs;修改按钮中加入代码:dw_1.update()新增按钮中加入代码:integer idw_1.scrolltorow(dw_1
14、.insertrow(dw_1.rowcount() + 1)for i=1 to dw_1.rowcount()dw_1.selectrow(i,false)nextdw_1.selectrow(dw_1.rowcount(),true)删除按钮中加入代码:dw_1.deleterow(0)dw_1.update()按学号升序按钮中加入代码:dw_1.setsort(xh A)dw_1.sort()按学号降序按钮中加入代码:dw_1.setsort(xh D)dw_1.sort()(2) 成绩输入在窗口的open事件中加入代码:st_4.text=user+号教师,欢迎您dw_1.settr
15、ansobject(sqlca)dw_1.retrieve()string tempdeclare mycur cursor forselect kcmfrom kc,jskwhere jsh=:user and kc.kch=jsk.kch;do while truefetch mycur into :temp;if sqlca.sqlcode0 then exitddlb_2.additem(temp)loopclose mycur;string temp1declare mycur1 cursor forselect xhfrom xs;open mycur1;do while true
16、fetch mycur1 into :temp1;if sqlca.sqlcode0 then exitddlb_1.additem(temp1)loopclose mycur1;在修改按钮中加入代码:string kcno,xhselect kc.kch into :kcnofrom kc,jskwhere kcm=:ddlb_2.text and jsh=:user and kc.kch=jsk.kch;if kcno= thenmessagebox(error,您没有修改权限)end ifinteger scorescore=integer(sle_1.text)update cjset
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 开发 课程设计 报告
链接地址:https://www.31ppt.com/p-2395494.html