会议厅系统实现与管理_第1页
会议厅系统实现与管理_第2页
会议厅系统实现与管理_第3页
会议厅系统实现与管理_第4页
会议厅系统实现与管理_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、长沙理工大学城南学院数据库原理课程设计报告城南班 级学 号学生姓名指导教师刘翌南课程成绩完成日期2013年9月28日课程设计,学 院 班 级 学生姓名 完成日期城南 专 业学 号指导教师2013年9月28日刘翌指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计屮的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩指导教师签字2013年 月 日课程设计任务书城南学院计算机科学与技术专业课程名称数据库课程设计时间20132014学年第1学期3-4周学生姓名指导老师刘翌南题目会议厅管理系统的设计

2、与实现主要内容:运用数据库原理知识,该实验是mysql数据库结合java 语言设计一个会议厅管理系统,w对会议厅的预定以及对会议厅的 设施进行调整的一些基本功能,并用mysql数据库对会议厅的信息进 行简单的储存与修改,使得此系统的功能更加完善。要求:(1) 要求能独立地运用sql语言、java相关知识和mysql数据库, 编制一个简单的会议厅管理系统。(2) 学生按要求编写课程设计报告书,能正确阐述设计和实验结果。(3) 通过课程设计培养学生严谨的科学态度和团队协作精神。(4) 学生应抱着严谨认真的态度积极投入到课程设计过程中,认真 查阅相应文献以及实现,给岀个人分析、设计以及实现。应当提交

3、的文件:(1) 课程设计学年论文。(2) 课程设计附件(主要是源程序)。会议厅管理系统摘 要 本课程设计主要解决eclipse环境系统下mysql的安装与配置实现问题,血 一个会议厅系统并对其进行配置与访问,再用儿种方式对其文件进行下载。这里介绍了 系统工作原理、屮mysql服务器的配置方法、eclipse客户端常用命令的使用方法、与 在不同系统屮户端常用软件的与mysql服务器的连接方法。通过对mysql的学习, 初步掌握mysql服务器的安装、启动、设置方法。关键词java;会议厅;mysql1引言为了更好的让我们在学习数据库语言的过程中,充分了解和运用数据库语言。木程 序设计可以更好的让

4、我们去直观的了解数据库中的概念结构与关系模型的建立,在对实 际问题的分析过程屮编写数据字典,也给我们提供了一个很好的锻炼平台。1-1课题设计目的在我们日常学习数据库与java的过程小,我们总是对数据库的结构模型、概念模 型感到陌生,对数据库的关系模型感到困惑。此次课程设计的冃的就是耍让我们解决以 上这些在平时学习中觉得晦涩的部分进行详细的实现,在设计的过程中,会详细的掌握 数据库访问的方法,并用高级语言来实现,进而熟悉数据库的知识,了解实际问题的求 解效率与采用怎样的数据库储存的密切联系,最终使我们能够更好的了解与学习数据库 系统与数据库语言。1.2课题设计任务如今不管学校述是其他机构处理会议

5、厅预定信息是一个棘手的事情,本课程系统的 开发主要包括后台数据库的建立和维护以及前端应用程序界面开发两个方面。对于后台 数据库的建立和维护耍求建立起数据的一致性和完整性、数据安全性好、符合3nf范式 库。而前端应用程序的开发则要求应用程序能提供强人的数据操纵功能,界面友好、使 用简单方便等特点。通过学生宿舍管理系统的设计,熟练掌握java、mysql等工具软件, 系统地掌握需求分析、数据库设计、测试等软件开发的流程,提高口身分析问题、解决 问题能力。木课程设计任务是通过开发一个学生宿舍信息管理系统,学习数据库系统的设计与 开发,釆用java和mysql等软件为开发工具。通过对计算机硬件和软件解

6、决方案的 论证,对应用领域进行调杏分析,参考各种资料和进行数据库系统开发实践,使得设计 的数据库系统能够实现一般数据库的管理。2系统结构分析与设计2.1功能需求分析会议厅管理系统是适应时代发展的需要,捉高管理的效率而开发设计的。通过对信 息的收集、存储、传递、统计、分析、综合杳询、报表输出和信息共享,实现了会议厅 的预定管理的简单化和规划化,提高了工作效率,从而使能够更好的管理。经过综合分析,确定了会议厅预定管理系统的主要包括以下功能:(1).系统设置功能系统设置包括预定者姓名、职位、时间段、会议设备、会议人数等基木信息,管理 模块可以实现以下功能:添加、修改、删除和查看用户名信息、用户职位、

7、年龄;添加、修改、删除和查看用户名信息、所需设备、会议室号;(2).会议厅预定管理功能此模块的主要功能包括:会议厅已预订管理,包括添加、修改、删除和查看预定信息;会议厅预定管理,包括添加、修改、删除和查看预定信息;(3).会议丿r预定信息统计查询管理本模块用于对会议厅预定信息进行统计和查询,主要功能包括:会议厅的安排状况查询功能;2.2性能需求分析1. 硬件环境处理器:amd athlon ii x2 245或是更高。内存:1gb。硬盘空间:300gbo2. 软件环境操作系统:windows xp/vista/72.3数据字典book (类):保存有关会议室预订的情况,包括bookid、lis

8、tdetailld、meetingroomld、 userid、isfinished> iscancek isensure 等丿闰性。bookid: book 记录 id。listdetailld:会议记录 id。meetingroonild:会议室 id。userid:预订者 id。isfinished:标示会议室预订是否完成。 iscancel:标示会议室预订是否取消。 isensure:标示会议室预订是否确定。meetinglist (类):会议信息类。保存有关会议的信息。含有属性:listld、useridx partnumberolistld:会议记录id。userid:用户

9、id。partnumber:会议参加人数。meetingroom (类):保存有关会议室的信息,包括属性:meetingroomld、 meetingroomname> seating amount o meetingroomld:会议室编号。meetingroomname:会议室名称。seatingamount:会议室座位容量。2.4数据库的创建(1) 在该系统中数据库的连接使用mysql驱动。在eclipse软件中将驱动添加到 工程中,然后在系统中装上mysql的数据库,我们采用的是mysql-front的应用软件来 查看数据库中的表以及数据,当进入图中的按钮时,其即将添加mysql

10、在eclipse中的 驱动程序,然后只需要在代码中加入数据库与编译平台编译的代码就可以让编译平台就 和mysql可以联系起来。曰 stormitorys药竺jre system library javase16白尊gb 包 resources.jar - c:javal.6javajdkl.6.ojrelib 囹 扇 rt.jar - c:javal.6javajdkl .6 .ojrelibs s3 jsse.jar - c:javal.6javajdkl.6.0jrelib 由屈 jce.jar c:javal .6javajdkl .6.ojrelib 回晶 charsets .jar

11、- c:javal.63avajdkl.6.ojrelibsi dnsns.jar c:javal.6javajdkl.6.0jrelibexte s localedata .jar - c:javal.6javajdkl.6.0jrelibexte sunjceprovider.jar - c:javal .63avajdk 1.6.ojrelibext 囱 ® sunmscapi.jar - c:javal.6javajdkl.6.ojrelibext (±1 q sunpkcsll.jar c:javal.6javajdkl.6.0jrelibext-1 refere

12、nced librariest 应 mysql-connector-java5l6bin.jar f:mysqlw 申 com.mysql.jdbc+ e& com.mysql.jdbc.configsi* 出 com.mysql.jdbe.exceptionsp7 田 com.mysql.jdbe.exceptions.jdbc4出 egralonc3p01+ 申 egration.jbossl£ th erceptors图2.1成功添加数据库驱动包图java bui

13、ld pathsourceprojects* librariesorder and exportjars and class folders on the build pajh:王 區 mysql-connector-java5:16bin.jsr f:mysqlh 鼻 jre system library javase-1.6add jarsaccess rules: no rules defined native library location: (none) resources.jar - c:java 163avajdkl60jrelit rt.jar c:java 163avajd

14、k 16.ojrelib jsse.jar - c:javal.6javajdkl.6.0jrelib jee.jar c:java 16javajdl< 16.0jrelib charsets .jar c:java 1 6javajdkl 60jrelib dnsns.jar - c:javal.6javajdkl.6.0jrelibext localedata.jar c:javal.6javajdkl.6.0jrelit sunjce_provider.jar c:java 16javajdkl60' sunmscapi.jar - c:javal.6javajdkl.6

15、0jreliladd variableadd libraryadd class folder.add externd class folder.editremove图2.2添加驱动界面图(2) 在系统中打开mysql数据库,可以在dos界面中可以很清楚的看到mysql 数据库的运行状况。g mysql command line cliententer password: xxxxxxwe leone to the mysql monitor. commands end with ; or g.vour mysql connection id is 3seruer version: 5.1.40

16、-connunity mysql community server <gpl>type f help;j or 9 m/ for help. type 9 cj to clear the current input statement.mysql>图2.3在dos界面中的运行状况(3) 打开mysql-front软件,在登录命令中运用localhost服务器并采用gbk的字 符集点击进入即可。图2.4 mysql-front登录界面(4) 打开mysql-front软件,可以再localhost下面创建自己的数据库名 称,然后把创建表的sql语言在编辑器屮输入即可创建自己所需

17、的表格。文件(z)編辑(丫)搜索 视谢(业)收藏(里)数据库辿)苴他 设置(s 帮助(r)3© 夕3 號 x 1x1liuocstoinfostude ntinfomysqssk主索引studentnouniquestudentnamechar(20)yesv空弓 studentnochar(20)no宙 studentdychar(20)yesv空岳 studentqschar(20)yes空studentcwchar(20)yesv空数据浏览器 query builder - sql编辑器二图表类型空默认值属性x ft对象浏览器6 object(s)连接开始:23:32图2.5

18、mysql-front中创建数据库表2.5数据库的连接打开eclipse,在主程序中输入以卜代码即可完成连接。tryclass forname (,rcom.mysql. jdbc dr iver,r);system, out. print in (吗区动加载成功,r);string ur 1 = r,jdtoc :mysql: / / localhost :33o6/liu,r;string username = ,rroot.r,;string password = "123456"con = dr ivermanager 歹etcozieectdoh (ufl, us

19、ername, password); system, owt. print in (rr 连接数据库成功r,);catch(exception e) 、system, out. printin ("连接数扌居库出错");e printstacktrace();图3.6 eclipse中连接数据库代码2.6数据库备份和恢复方案(1)应用辅助丁具进行备份和恢复应用数据库辅助工具(如sqlbackuptools.)进行备份,选择所需要备份的数据库 和冃标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。(2) 分离数据库法在企业管理器屮右击需要

20、备份的数据库,选择“所有任务”,“分离数据库”,执行 分析操作,拷贝数据库mdf文件和ldf文件。2.7安全性要求访问数据库时需要输入一些基木的详细信息。有必须填写的信息与可以选填的信 息,如果必须填写的信息没有填写,系统将会自动报错。2.8 一致性要求在管理系统相关的表之间,有较强的关联性。为了实现一致性的需求,各个表之间 均建立起了相应的一致性约束。2.8完整性要求根据会议厅预定管理系统的要求,为保持数据的完整性,采用了数据库的事务机制, 防止出现操作故障引起的数据不一致。3会议厅系统的实现3.1设计情况在此次会议厅管理系统程序开发过程屮,有很多东西值得我们思考并总结。开发过程大体可分为以

21、下几个步骤:(1) 思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序 大体需要的几个模块和其屮用到的java语言与sql语言基本操作符、语句等。(2) 画出总体设计方案流程图:用流程图的形式展现基本编程思想。(3) 流程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的 形式展现.并想好实现的关键代码。(4) 编辑程序代码:这是一个至关重要复杂而月需要反复修改的环节,在此环节屮我 发现总体设计和模块思想会存在很多问题,我会不断改进.如何实现各两数功能,达到 预期效果。(5) 代码的调试:在java环境下输入代码并进行调试和正确运行。在调试过程屮会 遇到很多

22、需要精化的地方,需要十足的耐心与细心,不断改进完善程序。(6) 最后修饰:程序可以正确运行z后,再不影响程序功能的情况下,运用各种辅助 性符号,使界面更加美观漂亮,操作更人性化.增强程序的新意与可行性。3.2小组合作情况由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。整个测试过程基于自顶向卜测试的组装模块的方法,先对主模块进 行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对 系统进行全面的整休测试。该程序实现了会议室管理系统应有的功能,即系统设置功能、 信息管理功能、查询信息功能。我主要负责登录主界而的设计与数据库会议室列表

23、数据界而的设计,功能实现如图 所示,(1) 登录主界面用户: iatan密码:图3.1 crrs登陆主界面(2) 数据库会议室列表数据图3.2数据库会议室列表数据(3) 数据库会议室的增、删、改。图3.3数据库会议室列表的新增会议厅修改会仪厅编号:5隆改成功!确定/消息.图3.4数据库会议索列表的修改匸埶厅旦会议厅编号会议厅名称座位数"11202岳阳楼3003互就山50048005马王堆2006省公安厅300新增修改刨除图3.5数据库会议室列表的删除4总结为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校 特安排我们进行为期两周的方向综合课程设计,并安排了指

24、导刘翌南知道老师帮助 辅导,让我们在规范化、严谨化、实用化上面有了很大进展。通过这次课程设计,使我们更加熟悉的掌握了图的运用。帮助我们熟悉了更多数据 库的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验.同时也挖掘 出了我们潜在的能力,使我们对自己更有口信,对编程也更有兴趣。我相信,只要努力、 勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创 新。参考文献1 y.daniel liang. java语言程序设计基础篇m.北京:机械工业出版社,2008.2 严蔚嫩数据结构(c语言版)m.北京:清华大学出版社,2006.3 邓一凡,余勇,罗云峰.jfc sw

25、ingfm.北京:电子工业出版社,2005.4 萨师塩,王珊.数据库系统概论(第三版)m.北京:高等教育出版社,2005.附录:程序清单mainframe:public class mainframe extends jframejjlabel lab;j button butl;public mainframe() lab = new jlabel(new imagelcon(ud:/blue hills.jpg"); lab,setbounds(0, 0, 800, 600);butl = new jbutton("会议厅管理”);butl.setbounds(250,

26、 180, 300, 100); butl.setfont(new font(m华文彩云”,font.bold,50);but 1 .addactionlistener(new actionlistener() public void actionperformed(actionevent e) new salframe();dispose(););this.add(butl);this.add(lab);this.setlayout(null);this.settitle(n 主界面”);this.setsize(800, 600);this.setdefaultcloseoperation

27、(exit_on_close); this.setresizable(false);this.setvisible(true);adduserframepublic class adduserframe extends jdialog 定义注册信息相关组件jlabel labl;jlabel lab2;jlabel lab3;jtextfield aid;jtextfield aname;jtextfield seat;jbutton but;salframe sf;public adduserframe(salframe sf) 设置窗口显示不能切换super(sf,true);this.s

28、f = sf;创建相应的组件labl = new jlabel("会议厅编号:”);lab2 = new jlabel("会议厅名称:”);lab3 = new jlabel("座位数:”);aid = new jtextfield(20);aname = new jtextfield(20);seat = new jtextfield(20);but = new jbutton("提交");but.addactionlistener(new actionlistener() public void actionperformed( actio

29、nevent e) string sql=*'insert into auditoria values(','4-aid.gettext()+","'4-aname.gettext()+',',"+seat.gettext()+")n;1、注册驱动try class.forname(noracle.jdbc.drive 匚 o racledriver"); catch (classnotfoundexception el) el .printstacktrace();string url=&quo

30、t;jdbc:oracle:thin: localhost: 1521 :oraclen;try 2、建立链接connection con = drivermanager.getconnection(url, nscottn5 htigern);113、创建sql执行对象statement sta = con.createstatement();114、执行sqlsta.executeupdate(sql);5、关闭链接sta.close();conxlose(); catch (sqlexception el) el .printstacktrace(); joptionpane.showm

31、essagedialog(adduserframe.this,"新增成功!"); addu serframe.thi s. sf. settabledate();dispose(););将基木组件添加到界面中this.add(labl);this.add(aid);this.add(lab2);this.add(aname);this.add(lab3);this.add(seat);this.add(but);设置界面布局为流式布局this.setlayout(new flowlayout(flowlayout.left);this.settitle(n 会议厅新增&qu

32、ot;);this.setsize(240, 400);this.setresizable( false);this.setvisible(true);edituserframepublic class edituserframe extends jdialog定义注册信息相关组件jlabel lab i;jlabel lab2;jlabel lab3;jtextfield aid;jtextfield aname;jtextfield seat;jbutton but;salframe sf;public edituserframe(salframe sf) 设置窗口显示不能切换super(

33、sf,true);this.sf = sf;创建相应的组件labl = new jlabel(h会议厅编号:”);lab2 = new jlabel("会议厅名称:”);lab3 = new jlabel(h座位数:“);aid = new0).tostring(),12);aid.seteditable( false);aname = new1) .tostring(),12);seat2) .tostring(),12);jtextfield(sf-table.getvalueat(sf.table.getselectedrow(),jtextfield(sf.table.get

34、valueat(sf.table.getselectedrow(),newjtextfield(s£table.getvalueat(sf.table.getselectedrow(),but = new jbutton(n 提交”);but.addactionlistener(new actionlistener() public void actionperformed(actionevent e) setstringsql二” updateauditoriaaname=”'+aname.gettext()+”;seat=”+seat.gettext()+” where

35、aid='”+aicl.gettext()+”;1、注册驱动class.forname(noracle.jdbc.driver.oracledriverh); catch (classnotfoundexception el) el .printstacktraceq;string url=njdbc:oracle:thin:localhost: 1521 :oracleh;try 2、建立链接connection con = drivermanager.getconnection(url, mscotth5 htigern);3、创建sql执行对彖statement sta = co

36、n .createstatement();4、执行sql sta.executeupdate(sql);5、关闭链接 sta.close(); con.close(); catch (sqlexception el) el .printstacktrace();joptionpane.showmessagedialog(edituserframe.this,"修改成功!”); edituserframe.this.sf.settabledate();dispose(););将基本组件添加到界而屮this.add(labl);this-add(aid);this.add(lab2);t

37、his>add(aname);this.add(lab3);this.add(seat);this-add(but);设置界面布局为流式布局this.setlayout(new flowlayout(flowlayout.left);this.settitle("会议厅修改”);this.setsize(240, 400);this.setresizable( false);this.setvisible(true);)loginframepublic class loginframe extends jframejlabel labl;/定义文本显示(用户)j label l

38、ab2;/定义文本显示(密码) jtextfield tcode;/定义文本输入框 jpasswordfield pwd;泄义密码输入框jbutton butl;/登录按钮jbutton but2;注册按钮构造方法public loginframe()labl = new jlabel(n用户:”);创建组件 labl.setbounds(80,40, 80, 50);/定义组件的位置和大小 lab2 = new jlabel(n密码:”);lab2.setbounds(80, 110, 80, 50);tcode = new jtextfield();tcode.setbounds(140,

39、 50, 180, 30);pwd = new jpasswordfield();pwd.setbounds(140, 120, 180, 30);butl = new jbutton("登录”);butl.setbounds(100, 170, 90,40);but2 = new jbutton(n重置”);but2.setbounds(210, 170, 90,40);为登录按钮添加点击事件butl.addactionlistener(new actionlistener() 按钮点击后触发的方法public void actionperformed(actionevent e)

40、 boolean flag = false;1、注册驱动class.fornamec'oracle.jdbc.driver.oracledriver"); catch (classnotfoundexception el) el .printstacktrace();string url="jdbc:oracle:thin:localhost:1521:oraclen;try 2、建立链接connection con = drivermanageegetconnection(url, nscottn, htigerh); 113、创建sql执行对象statement

41、 sta = con.createstatement();4、执行sql返回结果集string sql=hselect * from tuser where tcode=,n+tcode.gettext()+n, and p wd=1"+p wd. gett ext()+"resultset rs = sta.executequery(sql);5、操作结果集while(rs.next()flag = true;6、关闭链接rs.close();sta.close();con.close(); catch (sqlexception el) el .printstacktr

42、ace();if( flag=tru e) /登录成功情况打开主界面new mainframe();关闭登录窗口dispose();else弹出框消息提示joptionpane.showmessagedialog(loginframe.this,"账号或者密码错 误!”););为注册按钮添加事件but2.addactionlistener(new actionlistener() public void actionperformed(actionevent e) tcode.settext('m,); pwd.settext(”););把所有组件添加到窗口屮this.add

43、(labl);this.add(lab2);this.add(tcode);this.add(pwd);this.add(butl);this.add(but2);设置窗口的布局(坐标定位布局,空布局)this.setlayout(null);设置窗口标题this.settitle(”用户登录”);设置窗口大小this.setsize(400, 300);设置窗口不可改变大小this.setresizable(false);设置窗口关闭时退出程序thi s. setdefaultcl oseoperati on(exit_on_close);设置窗口显示this.setvisible(true

44、);public static void main(string args) loginframe if = new loginframeq;salframepublic class salframe extends jframejtable table;/表格显示组件jscrollpane spane;/滚动面板jbutton butl;jbutton but2;jbutton but3;j panel panel;public salframe() table = new jt able(this.getdata();spane = new jscrollpane(table);butl

45、二 new jbutton(”新增”);butl .addactionlistener(new actionlistener() public void actionperformed(actionevent e) new adduserframe( sal frame, th i s););but2 = new jbutton(”修改”);but2.addactionlistener(new actionlistener() public void actionperformed(actionevent e) int row = table.getselectedrow();if(row=-

46、l)joptionpane.showmessagedialog(salframe.this,"请先选择一行再进 行修改! ”);elsenew edituserframe(salframe.this););but3 = new jbutton(*'删除”);but3.addactionlistener(new actionlistener() public void actionperformed(actionevent e) int row = table.getselectedrow();if(row=-l)joptionpane.showmessagedialog(sa

47、lframe.this,"请先选择一彳亍再进 行删除! !”);elsestring sql=hdelete auditoria where aid='h+table.getvalueat(row, 0)+nn,; 1、注册驱动try class>forname(noracle.jdbc.driver.oracledriverm); catch (classnotfoundexception el) el .printstacktrace();string url=njdbc:oracle:thin:localhost:1521:oraclen;try 2、建立链接connect

温馨提示

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

评论

0/150

提交评论