最新Oracle数据库学生管理系统.doc

上传人:1595****071 文档编号:35273020 上传时间:2022-08-21 格式:DOC 页数:116 大小:411.50KB
返回 下载 相关 举报
最新Oracle数据库学生管理系统.doc_第1页
第1页 / 共116页
最新Oracle数据库学生管理系统.doc_第2页
第2页 / 共116页
点击查看更多>>
资源描述

《最新Oracle数据库学生管理系统.doc》由会员分享,可在线阅读,更多相关《最新Oracle数据库学生管理系统.doc(116页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateOracle数据库学生管理系统大作业模板哈理工荣成学院软件工程系 Oracle数据库大作业 班级: 软件10-4 学号: 1030090412 姓名: 张进伟 任课教师: 梁永先 联系电话: 电子邮件: 完成日期: 2013-5-17摘要 Java编程语言已成为如今当下的流行语言。随着Java语言的使用,通过使用JSP技术建立动态网站,充分发挥了Java语言所独有的易

2、用性、跨平台性和安全性,从而构建了一个运行高速、安全可靠、适用性广的系统,实现了学校失物信息、拾物信息、结伴出行活动、二手交易、快件通知的网上管理,使学校适应了网络经济时代发展的要求。Java平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。关键词: Java;XML Web services ;Abstract The Java language has been became the most popular language in the world. Along with the rapid The Java is W

3、eb services platform. XML Web services through the Internet allows applications to communicate and share data, and no matter what kind of the operating system, equipment or programming language. Java platform to create XML Web services and provide these services integrated together needs. For indivi

4、dual users benefit is seamless, attractive experience. Keywords: Java language; Web services;摘要2Abstract2绪论41.1引言41.2 问题定义41.3 系统介绍51.4 相关技术介绍51.4.1 javascript51.4.2 jQuery52 学生管理系统62.1学生管理系统概述62.2需求分析62.3概要设计72.3.1 E-R图72.3.2数据结构表:82.4详细设计112.5学生管理系统效果图113.总结13致谢14参考文献15附录15 绪论 1.1引言在最近的几年来,程序员使用工具

5、,通过直观的窗体设计器创建高质量的用户界面,其编程语言的易学易用,为快速开发应用程序提供了尽可能好的环境,所以赢得了广泛的好评。快速应用程序开发(RAD)工具的一个优点是提供了许多预制控件,开发人员可以使用它们快速建立应用程序的用户界面。为程序员提供了空前巨大的重用代码池,以及仅通过鼠标单击就可以完全测试的代码。这些控件拥有各种功能,开发用户界面、处理用户的交互将非常简单、有趣。想要全面了解各种技术是不可能的,所以这里只介绍最常用的技术,包括Jsp、Html、J2ee等。1.2 问题定义 1.目前针对学校的大量扩招,使学生管理也越发困难,考虑到为学校减轻管理上的负担,这次主任带领我们做了一个小

6、型的学生管理系统。它可以减轻管理员的统计负担,帮助管理员及时查看,修改,和定义新增加进来的学生,达到事半功倍的效果。我们用Swing技术和Web技术分别制作了学生管理系统。Web技术是一种B/S模式下的开发技术,它将用户的请求和相应都封装为控件。让开发者认为自己是在操作一个windows界面。极大地提高了开发效率。1.3 系统介绍 目前,在完成了桌面程序以后,我们又采用了J2ee来完成它。J2ee中主要应用Jsp和Servlet等技术。数据库用的是Oracle数据库。数据库中需要我们掌握的知识有很多,比如一些基础的表和视图等,视图通过显示的形式,把信息转达给用户。不同视图通过不同的显示,来表达

7、模型的数据和状态信息。每个视图有一个更新操作,当调用更新操作时,视图获得来自模型的数据值,并用它们来显示更新。对于J2ee部分,Servlet要掌握其生命周期,他只有在类第一次被加载时才调用它的初始化函数,之后则不在调用,然后调用distroy函数将servlet销毁。Servlet中的主要函数是doGet()和都doPost()函数,他们是函数的核心内容之所在。doPost()的传输数据量比doGet()大,安全性也较高。但传输速率不如doGet()快。doGet()是立即传输。1.4 相关技术介绍 1.4.1 javascriptJavaScript是一种基于对象和事件驱动并具有相对安全性

8、的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。在本系统中主要是应用jQuery。1.4.2 jQuery jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多javascript高手加入,现在由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery

9、。jQuery包含以下特点: DOM元素选择。基于开源的选择器引擎sizzle(从1.3版开始使用)。DOM元素遍历及修改(包含对CSS1-3的支持)。事件处理 。动态特效。AJAX。通过插件来扩展 。方便的工具 - 例如浏览器版本判断 。渐进增强 。链式调用 。多浏览器支持,支持Internet Explorer 6.0+、Opera 9.0+、Firefox 2+、Safari 2.0+、Chrome 1.0。2 学生管理系统2.1学生管理系统概述 学生管理系统是教务管理的一部分,利用计算机进行管理可以极大程度上提高管理的效率,设计思想如下:系统包括三种用户:管理员,教师和学生。管理员功能

10、:维护数据管理的各种基本信息包括学生信息维护,教师信息维护,课程信息维护。教师功能:成绩登记和成绩统计。学生功能:本人成绩查询。所有用户具有登陆功能。修改成绩时,要求记录修改日志(通过出发器实现)。2.2需求分析学生管理系统需要满足学校老师,学生,和管理员的登录模块功能,要求能够对这三者的使用进行系统协调的分析。以确保每一部分都能够顺畅使用。其中每个部分都要包含插入、修改、删除的界面。所以想要将系统做到尽善尽美,就要用到多种技术的使用,包括数据库也要研究它的精髓之所在。比如要写好PL/SQL,做好相应的触发器,写好备用日志等。以学生登录模块一览界面为例,要准确写出每个学生的信息,然后将他们依次

11、地插入到数据库中,然后在学生一览里就可以显示出学生的信息了。在拖入控件,写好包含插入、修改、删除的按钮,给这些按钮添加程序,使之可以被按动。 2.3概要设计2.3.1 E-R图2.3.2数据结构表:/权限表create table Qx (qxNo char(1) primary key,qxName varchar2(20);insert into Qx values(0,管理员);insert into Qx values(1,教师);insert into Qx values(2,学生);/用户表create table LoginUser(userName char(4) primar

12、y key,passWord varchar2(20),qxNo char(1) references Qx(qxNo);insert into LoginUser values(0001,0001,0);insert into LoginUser values(1001,1001,1);insert into LoginUser values(1002,1002,1);insert into LoginUser values(2101,2101,2);insert into LoginUser values(2102,2102,2);insert into LoginUser values(

13、2103,2103,2);/用户权限一览视图create view LoginUserViewasselect userName,passWord,Qx.qxNo,qxNamefrom LoginUser,Qxwhere LoginUser.qxNo=Qx.qxNo;/班级表create table Class(classNo char(1) primary key,className varchar2(20);insert into Class values(0,软件10-1);insert into Class values(1,软件10-2);insert into Class valu

14、es(2,软件10-3);insert into Class values(3,软件10-4);insert into Class values(4,软件10-5);insert into Class values(5,软件10-6);/学生表create table Student(sNo char(4) references LoginUser(userName),sName varchar2(20),classNo char(1),address varchar2(20),phoneNum char(11),primary key(sNo);insert into Student val

15、ues(2101,张三,0,山东威海,18763131001);insert into Student values(2102,李四,0,山东威海,18763131002);insert into Student values(2103,王五,0,山东威海,18763131003);/学生一览视图create view StudentViewasselect sNo,sName,Class.classNo,className,address,phoneNumfrom Student,Classwhere Student.classNo=Class.classNo;/教师表create tabl

16、e Teacher(tNo char(4) references LoginUser(userName) on delete cascade,tName varchar2(20) not null);insert into Teacher values(1001,梁永先);insert into Teacher values(1002,王敏);/课程表create table Course(cNo char(3) primary key,cName varchar2(20) not null,credit number(2,1),tNo char(4) references LoginUser

17、(userName);insert into Course values(001,Oracle,5,1001);insert into Course values(002,Java,4,1001);insert into Course values(003,C#.net,5,1002);/成绩表create table Grade(sNo char(4) references LoginUser(userName) on delete cascade,cNo char(3) references Course(cNo),grade number(4,1),primary key(sNo,cNo

18、);insert into Grade values(2101,001,97);insert into Grade values(2101,002,98);insert into Grade values(2101,003,84);insert into Grade values(2102,001,78);insert into Grade values(2102,003,87);/学生的平均成绩_总成绩视图create or replace view avg_sum_GradeView as select s.sNo,s.sName,avg(g.grade) as avg_mark ,sum

19、(g.grade) as sum_markfrom Student s left join Grade g on s.sNo = g.sNo group by s.sNo,s.sName;/学生选课情况一览视图create or replace view CourseView as select g.sNo,g.cNo,c.cName,t.tName,c.creditfrom Course c ,Teacher t ,Grade gwhere c.tNo=t.tNo And g.cNo=c.cNo;2.4详细设计系统分为四个层设计,分别为实体层entity,数据访问层dao,业务逻辑层serv

20、es和窗体层frame 。在entity中放我们实现一览表中用到的属性及其set和get方法,dao中是连接数据库及把数据中读到的数据放入实体对象中,serves写调用dao中同名方法的函数,frame中建立一个一维数组和一个二维链表分别用来设置表头和向表中逐列填充数据。调用顺序是frame中创建serves对象调用其方法,serves中再创建dao的对象调用其方法。2.5学生管理系统效果图1.登陆界面:2.管理员窗体:3.学生一览窗体:4.插入一条数据:5.修改数据:3.总结 过去的一学年,在梁主任指导帮助下,我学到了很多知识。在学习过程中我发现了自己的许多不足。首先,对开发工具的掌握还不算

21、很全面,走了不少弯路。其次,对自己想要干什么很迷茫,在遇到难题时,也曾很犹豫。我认为在制作网站方面技术,我还欠缺很多,需要不断提高自己开发软件的能力。在品味成功喜悦的同时我深知自己掌握的知识还远远不够,将学习到的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内

22、在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我们们对技术有了一定的了解。计算机技术的高速发展,使我们深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还需加强学习。 致谢 感谢敬爱的梁老师,虽然我们基础差,但您仍耐心地给我们讲解。有好几次,我路过您办公室的时候,你都在埋头备课,我知道教我们你真的认真对待了,谢谢您。参考文献1Java实用教程(第2版) 郑阿奇 主编 曹戈 编著 电子工业出版社2数据库系统开发案例精选 高春艳 李俊民 刘彬彬编著 人民邮电出版社3系统开发实录 李志明 孙强编著

23、 人民大学出版社附录/frame层String userName = jTextField0.getText();String password = jTextField1.getText();getNowName();LoginUserCheck loginUserCheck = new LoginUserCheck();String qxNo = loginUserCheck.LoginUserCheck(userName, password);if (qxNo.equals(0) Managerfrm mframe = new Managerfrm();mframe.setDefault

24、CloseOperation(Loginfrm.EXIT_ON_CLOSE);mframe.setTitle(用户管理窗体);mframe.getContentPane().setPreferredSize(mframe.getSize();mframe.pack();mframe.setLocationRelativeTo(null);mframe.setVisible(true);this.dispose(); else if (qxNo.equals(1) Teacherqxfrm tqframe = new Teacherqxfrm();tqframe.setDefaultCloseO

25、peration(Loginfrm.EXIT_ON_CLOSE);tqframe.setTitle(教师权限窗体);tqframe.getContentPane().setPreferredSize(tqframe.getSize();tqframe.pack();tqframe.setLocationRelativeTo(null);tqframe.setVisible(true);this.dispose(); else if (qxNo.equals(2) Studentqxfrm sqframe = new Studentqxfrm();sqframe.setDefaultCloseO

26、peration(Loginfrm.EXIT_ON_CLOSE);sqframe.setTitle(学生权限窗体);sqframe.getContentPane().setPreferredSize(sqframe.getSize();sqframe.pack();sqframe.setLocationRelativeTo(null);sqframe.setVisible(true);this.dispose(); else if (qxNo = 3) jLabel2.setText(请输入正确用户名!); else if (qxNo = 4) jLabel2.setText( 请输入正确密码

27、);/serves层public class LoginUserCheck public String LoginUserCheck( String userName, String password) String result = null;LoginUserDao loginUserDao = new LoginUserDao();LoginUser loginUser = loginUserDao.selectLoginUserByUserName(userName);if (loginUser = null) return 3; else if (!password.equals(l

28、oginUser.getPassWord() return 4; else result = loginUser.getQxNo();return result;/dao层public class LoginUserDao LoginUser result = null;Connection con = null;Statement stmt = null;ResultSet rs = null;public List selectAllLoginUser() /访问数据库List result = null;try DriverManager.registerDriver(new oracl

29、e.jdbc.driver.OracleDriver();con = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:XE, zhang, zhang);stmt = con.createStatement();String sql = select * from LoginUserView order by userName ;rs = stmt.executeQuery(sql);result = new ArrayList();while (rs.next() LoginUser loginUser = new Lo

30、ginUser();loginUser.setUserName(rs.getString(userName);loginUser.setPassWord(rs.getString(passWord);loginUser.setQxNo(rs.getString(qxNo);loginUser.setQxName(rs.getString(qxName);result.add(loginUser); catch (Exception e) try con.rollback(); catch (Exception ee) finally try if (rs != null) rs.close()

31、;if (stmt != null) stmt.close();if (con != null) con.close(); catch (Exception e) return result;public LoginUser selectLoginUserByUserName(String userName) LoginUser loginUser=null;try DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver();con = DriverManager.getConnection(jdbc:oracle:th

32、in:localhost:1521:XE, zhang, zhang);stmt = con.createStatement();String sql = select * from LoginUserView where userName= + userName + ;rs = stmt.executeQuery(sql);if (rs.next() loginUser = new LoginUser();loginUser.setUserName(rs.getString(userName);loginUser.setPassWord(rs.getString(passWord);logi

33、nUser.setQxNo(rs.getString(qxNo);loginUser.setQxName(rs.getString(qxName); catch (Exception e) finally try if (rs != null) rs.close();if (stmt != null) stmt.close();if (con != null) con.close(); catch (Exception e) return loginUser;public void insertLoinUser(LoginUser loginUser)/访问数据库try DriverManag

34、er.registerDriver(new oracle.jdbc.driver.OracleDriver();con = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:XE, zhang, zhang);stmt = con.createStatement();String sql = insert into LoginUser values ( ;sql=sql+ + loginUser.getUserName()+ ,;sql=sql+ + loginUser.getPassWord()+ ,;sql=sql+ +

35、 loginUser.getQxNo()+ );stmt.execute(sql);mit(); catch (Exception e) try con.rollback(); catch (Exception ee) finally try if (rs != null) rs.close();if (stmt != null) stmt.close();if (con != null) con.close(); catch (Exception e) public void deleteLoinUser(String userName)/访问数据库try DriverManager.reg

36、isterDriver(new oracle.jdbc.driver.OracleDriver();con = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:XE, zhang, zhang);stmt = con.createStatement();String sql = delete from LoginUser where userName= + userName + ;stmt.execute(sql);mit(); catch (Exception e) e.printStackTrace();try con

37、.rollback(); catch (Exception ee) ee.printStackTrace(); finally try if (rs != null) rs.close();if (stmt != null) stmt.close();if (con != null) con.close(); catch (Exception e) e.printStackTrace();public void updateLoinUser(LoginUser loginUser)/访问数据库try DriverManager.registerDriver(new oracle.jdbc.dr

38、iver.OracleDriver();con = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:XE, zhang, zhang);stmt = con.createStatement();String sql = update LoginUser set passWord= + loginUser.getPassWord() + ,qxNo= + loginUser.getQxNo() + where userName= +loginUser.getUserName() + ;stmt.execute(sql);mi

39、t(); catch (Exception e) try con.rollback(); catch (Exception ee) finally try if (rs != null) rs.close();if (stmt != null) stmt.close();if (con != null) con.close(); catch (Exception e) public void insertPeike(Student student)/访问数据库try DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver

40、();con = DriverManager.getConnection(jdbc:oracle:thin:localhost:1521:XE, zhang, zhang);stmt = con.createStatement();String sql = insert into Grade values ( ;sql=sql+ + student.getsNo()+ ,;sql=sql+ + student.getcNo()+ );stmt.execute(sql);mit(); catch (Exception e) try con.rollback(); catch (Exception ee) finally try if (rs != null) rs.close();if (stmt != null) stmt.close();if (con != null) con.close(); catch (Exception e) public List selectPeike() List result = null;tr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁