欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数据库应用开发课程设计报告.doc

    • 资源ID:2395494       资源大小:13.18MB        全文页数:31页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库应用开发课程设计报告.doc

    课程设计报告    院 系: 城市学院 专 业: 计算机应用 课 程: 数据库应用开发   2009年 5 月 21 日一、 需求分析 数据库应用系统的设计与开发一直以来都是计算机应用的重要应用领域之一。在该应用领域中,PowerBuilder无疑是具有相当代表性的一种数据库前端开发工具。PowerBuilder完全基于客户/服务器体系结构,并且采用面向对象和可视化开发技术。另外,随着其自身的多次升级换代,PowerBuilder的功能也在不断强大,因此它除了可以设计传统的基于客户/服务器体系结构的应用之外,也能够构建和实现分布式系统的应用。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面软件质量。可以说它适用于每一所高校,因此很有开发价值。它具有使用范围广,实用性强,使用简单,所花经费少等优点。可以肯定的说它将在高校的教学的使用过程中其优点将得到最充分的体现。它的功能就是教师通过输入用户名和口令登陆到教学管理数据库中,从而实现成绩摄入,对教师信息的维护等。学生则通过输入学号与口令进行登陆,进去以后可以对自己的信息进行查询,并且也可以进行选课与退课;这当中学生对自己的成绩只能看,不能删除和修改。当然还要有一个管理员,他在整体上能实现对系统进行维护与保护。该系统主要包括学生信息查询,教务信息维护,和学生选课三大部分功能。在这当中管理员的权限最大,教师次之,学生最少。二、 模块功能分析本次实验主要模块及功能分别为:管理员模块,功能:管理员账号维护,班级管理,教师管理,(学生管理),课程管理,(开课管理)。教师模块,功能:(学生管理) ,成绩输入,个人信息修改,密码管理。学生模块,功能:成绩查询,课程选修,个人信息修改,密码管理。 (开课管理模块,意味着某名教师只能输入其执教班级的成绩,课程选修模块,则在学生未选修课程前教师不能输入成绩。)三、 数据库表结构1.学生表xs字段名字段类型字段说明xhChar(6)学生学号(主键)xmvarchar(8)姓名xbChar(2)性别bjhchar(6)班级号xs_pwdChar(16)登录密码2教师表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)班级号(主键)bjmchar(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=:sle_user.text; if temp="" thenmessagebox("error","没有该帐号") elseif temp1<>sle_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 temp1<>sle_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 temp1<>sle_pwd.text thenmessagebox("error","密码输入错误") elseopen(jsmain)close(winlogin)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.getitemstring(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,bjh)values(:ddlb_1.text,:ddlb_2.text,:ddlb_3.text);if sqlca.sqlcode<>0 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;if 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;declare 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()insert_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.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.settransobject(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.sqlcode<>0 then exitddlb_2.additem(temp)loopclose mycur;string temp1declare mycur1 cursor forselect xhfrom xs;open mycur1;do while truefetch mycur1 into :temp1;if sqlca.sqlcode<>0 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 cj=:score,xh=:ddlb_1.textwhere kch=:kcnoand xh=:ddlb_1.text;dw_1.retrieve()在新增按钮中加入代码:string kcno,xscj,xsno,kcmzselect kc.kch,kcm into :kcno,:kcmzfrom kc,jskwhere kcm=:ddlb_2.text and jsh=:user and kc.kch=jsk.kch;if kcno="" thenmessagebox("error","您没有新增权限")end ifinteger scoreif trim(sle_1.text)="" then messagebox("出错","成绩不能为空")elsescore=integer(sle_1.text)select cj into :xscjfrom cjwhere xh=:ddlb_1.text and kch=:kcno;select xh into :xsnofrom cjwhere kch=:kcno and cj=:score;if ddlb_1.text=xsno and ddlb_2.text=kcmz and sle_1.text=xscj then messagebox("error","不能重复输入")end ifinsert into cj(xh,cj,kch)values(:ddlb_1.text,:score,:kcno);end if if sqlca.sqlcode<>0 thenmessagebox("erreor",sqlca.sqlerrtext)end ifdw_1.retrieve()在删除按钮中加入代码:string kcnoselect kc.kch into :kcnofrom kc,jskwhere kcm=:ddlb_2.text and jsh=:user and kc.kch=jsk.kch;if kcno="" thenmessagebox("error","您没有权限删除")end ifdelete from cjwhere xh=:ddlb_1.text and kch=:kcno;if sqlca.sqlcode<>0 thenmessagebox("erreor",sqlca.sqlerrtext)end ifdw_1.retrieve()(3) 个人信息修改在窗口的open事件中加入代码:st_7.text=user+"号教师,欢迎您"string name,xb,bzselect jsm,js_xb,js_bz into :name,:xb,:bz from js where jsh=:user;sle_1.text=namemle_1.text=bzif xb="男" thenrb_1.checked=trueelserb_2.checked=trueend ifcb-1修改按钮中加入代码:string sexif rb_1.checked=true thensex="男"elsesex="女"end ifupdate jsset jsm=:sle_1.text,js_xb=:sex,js_bz=:mle_1.textwhere jsh=:user;if sqlca.sqlcode <> 0 thenmessagebox("错误提示",sqlca.sqlerrtext)elsemessagebox("成功提示","修改成功")end if在cb-2重置按钮中加入代码:sle_1.text=""mle_1.text=""sle_1.enabled=truemle_1.enabled=truecb-3修改按钮中加入代码:string tempselect js_pwd into :tempfrom js wherejsh=:user and js_pwd=:sle_3.text;if sqlca.sqlcode<>0 thenmessagebox("error","原密码不正确!")returnend ifif sle_4.text<>sle_5.text thenmessagebox("error","新密码输入不一致!")returnend ifupdate jsset js_pwd=:sle_4.textwhere jsh=:user;if sqlca.sqlcode=0 thenmessagebox("成功提示","修改成功")end if在cb-4重置按钮中加入代码:sle_3.text=""sle_4.text=""sle_5.text=""sle_3.enabled=truesle_4.enabled=truesle_5.enabled=true在cb-5退出按钮中加入代码:close(parent)4、学生模块(1) 成绩查询窗口open事件中加入代码:st_1.text=user+"号学生,欢迎你"dw_1.settransobject(sqlca)dw_1.retrieve(user)查询按钮代码如下:if sle_1.text<>"" and cbx_1.checked=false thendw_1.setfilter("kc_kcm='"+sle_1.text+"'")elseif sle_1.text<>"" and cbx_1.checked=true thendw_1.setfilter("kc_kcm like'%"+sle_1.text+"%'")else dw_1.setfilter("")end ifdw_1.filter()在退出按钮中加入代码:if messagebox("确定关闭","确定关闭",StopSign!,OKCancel! )=1 thenclose(parent)end if(2) 课程选修新建一实例变量:在窗口的open事件中加入代码:st_2.text=user+"号学生,欢迎你"dw_1.settransobject(sqlca)dw_1.retrieve()declare cursor_xk cursor forselect kchfrom kc;open cursor_xk;do while truefetch cursor_xk into :xk;if sqlca.sqlcode = 100 or sqlca.sqlcode = -1 thenexitend ifddlb_1.additem(xk)loopclose cursor_xk;确定按钮中加入代码:string tempselect kch into :tempfrom cjwhere xh=:user and kch=:ddlb_1.text;if sqlca.sqlcode = 0 thenmessagebox("错误提示","你已经选择过该课程")elseif sqlca.sqlcode = 100 theninsert into cj(xh,kch)values(:user,:ddlb_1.text);if sqlca.sqlcode <> 0 thenmessagebox("错误提示",sqlca.sqlerrtext)elsemessagebox("成功","插入成功")end ifend if退选按钮中加入代码:string temp_cjselect cj into :temp_cjfrom cjwhere xh=:user and kch=:ddlb_1.text;if isnull(temp_cj) = true thenif sqlca.sqlcode = 0 thendelete from cjwhere xh=:user and kch=:ddlb_1.text;if sqlca.sqlcode <> 0 thenmessagebox("错误提示2",sqlca.sqlerrtext)elsemessagebox("成功","退选成功")end ifelseif sqlca.sqlcode = 100 thenmessagebox("错误提示","你未选择过该课程")end ifelsemessagebox("错误提示","已经有成绩不能删除")end if(3) 个人成绩修改在窗口的open事件中加入代码:st_7.text=user+"号学生,欢迎你"string name,xsb,bjselect xm,xb,bjh into :name,:xsb,:bj from xs where xh=:user;sle_1.text=namesle_2.text=bjif xsb="男" thenrb_1.checked=trueelserb_2.checked=trueend ifcb-1修改按钮中加入代码:string sexif rb_1.checked=true thensex="男"elsesex="女"end ifupdate xsset xm=:sle_1.text,xb=:sex,bjh=:sle_2.textwhere xh=:user;if sqlca.sqlcode <> 0 thenmessagebox("错误提示",sqlca.sqlerrtext)elsemessagebox("成功提示","修改成功")end ifcb-2重置按钮中加入代码:sle_1.text=""sle_2.text=""sle_1.enabled=truesle_2.enabled=truecb-3修改按钮中加入代码:string tempselect xs_pwd into :tempfrom xs wherexh=:user and xs_pwd=:sle_3.text;if sqlca.sqlcode<>0 thenmessagebox("error","原密码不正确!")returnend ifif sle_4.text<>sle_5.text thenmessagebox("error","新密码输入不一致!")returnend ifupdate xsset xs_pwd=:sle_4.textwhere xh=:user;if sqlca.sqlcode=0 thenmessagebox("成功提示","修改成功")end ifcb-4重置按钮中加入代码:sle_3.text=""sle_4.text=""sle_5.text=""sle_3.enabled=truesle_4.enabled=truesle_5.enabled=true在退出按钮中加入代码:close(parent)五、 心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次数据库开发课程设计之学生成绩管理系统,我仍感慨颇多,的确,从构思到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为日后的工作服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次自己做的综合性系统,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说游标的具体使用,全局变量、实例变量的使用,单步调试的使用把这个问题解决了,另一个新的问题又来了。这不能不说是对知识的欠缺。通过这次的程序设计,我懂得了无论什么事都要去做才会发现问题,才有可能去解决问题。对知识的学习,不能潜偿辄止,要深入去学习,去了解,这样才会有所收获。有许多东西,许多事,不是想像中的那么容易,不去实践,永远也不会有提高,尤其是学习计算机,不能只是学习和重视书本上的理论知识,所以日后在学习过程中,我会更加注视实践操作。我也深刻感受到,一定把以前所学过的知识好好地温故以知新。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,但都在陈胜凯老师的耐心指导下解决了。这个设计虽然没有毕业设计那么繁杂和困难,但给我毕业设计和毕业以后的工作打下了基础。什么事都不是那么容易的,有了这一点点的困难做基础,让我深深的明白以后的工作将会是那么的困难,所以说这次课程设计在很大意义上给了我良好的启示。

    注意事项

    本文(数据库应用开发课程设计报告.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开