数据库技术课程设计学生信息管理系统_第1页
数据库技术课程设计学生信息管理系统_第2页
数据库技术课程设计学生信息管理系统_第3页
数据库技术课程设计学生信息管理系统_第4页
数据库技术课程设计学生信息管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术课程设计学生信息管理系统班级学号姓名e-mail电话提交日期指导教师承德石油高等专科学校计算机与信息工程系学生信息管理系统摘要:主要是利用mysql和netbeans来创建一个简单学生的数据库管理系统,用网页形式进行数据库的增、删、改、查等数据库的功能。关键字:mysql;netbeans;数据库增、删、改、查; 1. 课程设计介绍本次课程设计的内容是对数据库的操作,运用相应的网页上,而且是一次综合性比较强的课程设计,不单单是只对mysql的一些管理,更多的是要在其它编程语言的灵活运用,以及基于jsp的网页设计,在课程设计过程中,要运用到相当多的java语言,这样来说,一定要有一定的

2、java基础,否则即使把代码给了我们,也看不懂,在设计网页界面的时候,可以配合dreamweaver来使用,由于这次课程的设计时间有限,只是做一个比较简单的数据库管理系统,主要实现增、删、改、查就可以了,因此此次课程设计是由我们学生自己独立完成的。对于初次来进行这个课程设计还是有一定的难度的,主要原因是我们学生学习的java还是不太好,在而要大量的代码要求的jsp,需要自己查阅大量的资料,必要时候还要老师的帮助,目的是很明确的,最主要还是要自己在课余时间加强训练,把增删改查给成功的弄出来。2. 系统设计21 需求分析做一个简单的学生管理系统,可以参考学校的学生管理系统,做一定的分析,用到的主要

3、工具有mysql、netbeans。最后完成对学生的一个比较好的管理,由一个管理员对其中的数据进行管理,而学生登录的时候时候只能进行查看。22 总体设计学生信息管理系统是一个比较大的数据库系统,总的来是要对学生的信息有一个合理的管理,要让学生和教师及管理员用起来舒服,在一方面做到方便,还有必要使网页界面显得美观,这要在网页设计上花下一定的功夫,而且的用户的交互性好,界面比较友好,在网页设计上用到工具是dreamweaver,用起来比较方便一点,对网页布局做美化,网页只是前台的一些用户的操作,其实最重要的是后台在代码上对数据库的操作,是一个很关键的问题,学生管理系统是针对学生信息的管理,但是对于

4、学生用户来说,只能进行查看,不能进行数据库的修改操作,而对于数据库的管理员来说,他就可以有很高的权限,可以向其中进行修改操作,对学生管理系统数据库进行维护。而针对这两种人员,可以分别让他们有各自的登录名,以确认各自的权限。进行相应的操作。对于管理员对其中数据库的操作也要相应做到操作方便。23 功能设计一个学生管理系统它的功能主要就是能够对其中数据的增删改查,首先用dreamweaver做一个登录界面,让它连接到数据库的login表,来确定是属于学生人员还是管理人员,当验证成功后让网页跳转到学生信息表界面,显示所有学生信息,这个网页也是通过连接数据库的学生信息表来实现的,在这个网页当中,以学生身

5、份进入的话,只能查看学生的信息,不能进行信息的修改操作,如果刚开始是以数据库管理员身份进入的话,在这个网页当中就显示删除的控件及在上栏可以有一个添加操作,能进行数据的添加,添加之后再显示,插入完成后的数据情况,数据添加的时候可以添加一些下拉表,进行方便的选择。3. 数据库设计与实现31 数据库的需求分析数据库的主要需求是,进行数据的录入和管理,用的是mysql数据库,可以用本地计算机作为一个服务器,之后让别人访问自己的数据库,用网页地址的方式,在数据库当中主要建的是一个学生表,及一个登录表,然后利用前台对数据库的增删改查操作,数据库用mysql,就已经足够了,而对一个普通的学生实训用的一个学生

6、信息管理系统来,其实对数据库的要求也不是太高。因为所用到信息不多。32 数据库概念结构设计该学生信息管理系统,是一个比较简单的数据库,涉及到的表也不多,在表方面上,有student表及一个login表是一个最基本的信息,student表是一个学生所有信息的表,另外一个login表是用来验证用户的登录,给予相应的权限,而对数据库进行操作的时候,所涉及到sql语句,嵌入到网页当中了,只要打开网页,进行直观的操作就可以进行对数据库的修改了。建库test建表连接数据库netbeansstudentlogin图1在数据库结构中,其中student中有的元素是学号,姓名,性别,年龄,及出生日期,为了实现的

7、方便它们的类型教师字符型的,student表中学号设为主键,不能为空,其中年龄有一个范围限制,在18岁到23岁之间。而在性别中,设置一个默认值为男,这些在实现连接的时候都要在界面上显示出来。33 数据库的逻辑设计首先在启动本地的mysql服务器,在其中建一个为fl-stu的数据库,在这个数据库中有一个login表和student表,login表中包含了name和password。其次实现对数据库增删改查,是进行在网页中嵌入sql语句,在netbeans中的com.su.dao里一个testlogin.java代码中就有sql语句,进行增加,删除,插入的语句,而且在里面引用到index.jsp网

8、页中显示出来,显示出信息之前还要进行用户的验证,总的来说是在实现数据库的增删改查都是网页上进行的。而网页也有一定的设计要求,讲究美观性,涉及的网页有5个,一个登录页面,一个首页,一个插入页,一个删除页,还有一个查询页,当进行其中的某项操作时也进行相应的跳转。还要做跳转时准确无误,插入时要插入的正确,插入之后,跳转到下个页面时能显示出插入后所有的信息,还有删除及查询做到界面的友好,操作的简便。还有要提到的是,在做查询页面的时候在网页当中做到多个条件的查询,而实现这个功能,所要用到对数据库操作的sql语句就是最关键的了,其中有相对于学号和年龄的双条件查询,还有可以对所有男生或女生人数的统计的功能。

9、总体来说,只要是表里的数据都可以进行查询。数据库的student-er图性别姓名年龄学号出生日期学生图2t数据库的login-er图密码用户名用户图34. 系统各功能模块(页面)设计41 界面设计登录界面:所在网页为aa.jsp.提供用户的登录,用dreamweaver做一个登录界面,用于用户名及密码的验证。如下图所示:图4登录以后进入,显示所有学生信息,并有相应控件提示下一步的操作。图5进行相应的插入,修改,删除,查询操作。图6图7图842 功能实现1、刚开始由登录界面进入,弹出一个学生信息表页,点击上面的添加数据按钮。2、进行添加了数据之后得到如图5 所示,添加了足够多的数据,就可以进行相

10、应的修改查询。3、进行查询时,按照其中的字段进行查询,就可以得到相应的信息。4、如图5所示,点击删除按钮时可删除其所在行。5、点击修改,跳转到修改页,如图 8 所示,在其中进行相应的修改就可以了,然后跳到学生信息表页。5. 课程设计总结和体会课程设计已经结束了,总体来说,是学到了不少数据库应用的技术,自己的能力也在此得到了一定的提高,不过在设计过程中也遇到了不少的问题,觉得自己在java编程方面还是不足,有待去提高,在这过程中也常常遇到一些关于这个代码的问题,比如一个函数出现了错误,而我要去查看的话,刚开始还不知道怎样去解决,当然也向同学、老师求助,如何把问题消除。学生信息管理系统的课程设计是

11、一个上大学以来的一个比较综合性的设计。但是在短短的一个星期的实训,我觉得还是远远不够的,因为有很多东西我们学习的还不是太深入,在设计过程中也得到了很大的体现,自己的编写代码能力相当欠缺,可以这么说,大多数是借用老师的代码,几乎自己写出来的相当的少。经过了此次的学习,真的发现自己要在专业课上下点工夫,要是在自己的操作下,把数据库的增删改查全部弄好,那才是真正学到的知识。经过了这次课程设计,觉得自己需要提高的是:1、在编程能力上要得到更大的提高,特别是熟练掌握一门编程语言,要对一门编程语言有一个深刻的理解,并熟练运用到实际问题上。2、对一个项目,要有一个总体的把握,在建设之前,认真思考系统的组成情

12、况,而这此次训练过程中,这个不足的问题就显现出来了,在设计之前不知如何下手,所以要在这方面上有提高。3、在网页设计辅助工具掌握的不太灵活,所以在这个寒假假期期间要在这网页设计方面上多练习一下,用自己的电脑好好的操作一下网页设计工具dreamwaver。4、利用自己的课余时间学习jsp,多看一下有关这方面的书,在下个学期的asp学习有很大的帮助。6致谢此次课程设计已圆满结束了,要感谢老师的教导,如果没有老师的指导,相信作业也不能这么顺利的完成,还要感谢同学的帮助,最后要感谢学校给我们开设了这个课程设计的课,让学生在学习理论知识的同时,也让学生去感受一下实际操作。参考文献1jsp应用开发技术 (主

13、编:贾素玲、王强)清华大学出版社20072jsp网络编程从基础到实践 邓子云编著 电子工业出版社 2009.834附录1. 登录功能模块(实现登录及跳转)以下实现登录,登录后跳转index.jsp,不成功跳转到aa.jsp类名:loginservlet.java string name=request.getparameter("name") ; string password =request.getparameter("password"); /system.out.println(name+password); testlogin t=new te

14、stlogin(); s=t.gettest(name, password); if(s=1) arraylist alist=new testlogin().getstulist(); request.setattribute("alllist", alist); request.getrequestdispatcher("aa.jsp").forward(request, response); else request.getrequestdispatcher("index.jsp").forward(request, respo

15、nse);2. 插入功能模块 string sno=request.getparameter("sno"); string sname=request.getparameter("sname"); string ssex=request.getparameter("ssex"); string sage=request.getparameter("sage"); string sbirthday=request.getparameter("sbirthday"); system.out.prin

16、tln(ssex+sname); int c=new testlogin().insert_s(sno, sname, sage, ssex, sbirthday); 跳转 arraylist alist=new testlogin().getstulist(); request.setattribute("alllist", alist); request.getrequestdispatcher("aa.jsp").forward(request, response);3删除功能模块 (1) 类:deleteservlet.java string s

17、no=request.getparameter("sno"); string sname=request.getparameter("sname"); string ssex=request.getparameter("ssex"); string sage=request.getparameter("sage"); string sbirthday=request.getparameter("sbirthday"); system.out.println(ssex+sname); int c=

18、new testlogin().insert_s(sno, sname, sage, ssex, sbirthday); if(c=1) arraylist alist=new testlogin().getstulist(); request.setattribute("alllist", alist); request.getrequestdispatcher("aa.jsp").forward(request, response); request.getrequestdispatcher("insert_s.jsp").for

19、ward(request, response); 4.修改功能模块(1)类:updateservlet.java string sno=request.getparameter("code"); studvo vo=new testlogin().getvoby(sno); request.setattribute("vo", vo); request.getrequestdispatcher("update.jsp").forward(request, response);(3)实现修改方法,跳转到aa.jsp protected

20、void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception string sno =request.getparameter("sno"); string sname =request.getparameter("sname"); string ssex =request.getparameter("ssex"); string sage =request.getparameter(

21、"sage"); string sbirthday =request.getparameter("sbirthday"); int c=new testlogin().xiugai(sno,sname,ssex,sage,sbirthday); if(c=1) arraylist alist=new testlogin().getstulist(); request.setattribute("alllist", alist); request.getrequestdispatcher("aa.jsp").forw

22、ard(request, response);5.从数据库导入功能模块 1从数据库登录方法:gettest实现代码:public int gettest(string nam,string passwor) int a = 0; try connection con = getconnection(); statement st = con.createstatement(); string sql="select count(*) from login where name='"+nam+"' and password='"+p

23、asswor+"'"/sql 查询语句 system.out.println(sql); resultset rs=st.executequery(sql); if(rs.next() a=rs.getint(1);2从数据库查询student学生表信息,方法:getstulist.实现代码:arraylist alist =new arraylist(); try connection con = getconnection(); statement st = con.createstatement(); string sql="select * fro

24、m student"/查询学生表的sql语句。 resultset rs=st.executequery(sql);以下读出学生信息 while(rs.next() studvo svo=new studvo(); svo.setsno(rs.getstring("sno"); svo.setsname(rs.getstring("sname"); svo.setsage(rs.getstring("sage"); svo.setsbirthday(rs.getstring("sbirthday"); s

25、vo.setssex(rs.getstring("ssex"); alist.add(svo);3从数据库插入方法:insert_s实现代码:public int insert_s(string sno,string sname,string sage,string ssex,string sbirthday) int a = 0; try connection con = getconnection(); statement st = con.createstatement(); string sql = "insert into student values(

26、'" +sbirthday+"','"+sage+"','"+ssex+"','"+sname+"','"+sno+"')"/插入sql语句 system.out.println(sql); a=st.executeupdate(sql); 4数据库删除实现代码:public int delet(string id) connection con = getconnection(); statement s

27、t = con.createstatement(); string sql = "delete from student where sno='" + id + "'" system.out.println(sql); a = st.executeupdate(sql); 5修改实现代码:public int xiugai(string sno,string sname,string ssex,string sage,string sbirthday) connection con = getconnection(); statement

28、 st = con.createstatement(); string sql = "update student set sname='" + sname+ "',ssex='"+ssex+"',sage='"+sage+"',sbirthday='"+sbirthday+"' where sno='"+sno+"'"/用sql语句实现录入学生信息 system.out.println(sql)

29、; a = st.executeupdate(sql) catch (sqlexception ex) logger.getlogger(testlogin.class.getname().log(level.severe, null, ex); 6查询数据库的实现代码:public arraylist selectaction(string sno,string sname,string sage) arraylist alist =new arraylist(); connection con = getconnection(); statement st = con.createstatement(); string sql="select * from student where 1=1 " if(!sno.equals("") sql=sql+" and sno ='"+sno+"'"/按学号条件查询 if(!sname.equals("") sql=sql+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论