还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
精品资料.为你而备学生宿舍管理系统专业软件技术组员石胜华蒋霞张龙班级
10011.问题定义随着中国大学普遍扩招招收的大学生越来越多而学生宿舍管理成为高校管理的很重要的一部分但目前很多高校还是采用传统的人工记录的方法需要记录的数据比较多,而且需要保存的数据也比较多,人工记录、查找信息等都比较麻烦,而且安全性不高.21世纪的今天信息化占据着社会主流计算机在各行各业的的应用越来越广泛自动化信息化的管理被应用到越来越广泛的领域学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,需要系统操作方便,管理人员需要做的就是将数据输入到系统的数据库中去管理员和学生利用该系统可完成如下功能1管理员可快速查询学生基本信息2管理员可方便实现楼资源管理3管理员可实现宿舍资源管理4管理员可方便实现查询统计该系统采用JAVA开发,后台数据库采用SQLServer2005二可行性分析1问题
(1)目前宿舍管理还都采用人工记录的方法
(2)需要手工记录很多信息,浪费人力财力,且操作麻烦
(3)查询学生基本住宿信息时,查询效率低下,不能实现快速查询2项目目标开发一小型学生宿舍管理系统,要操作方便,并能满足学校学生宿舍管理基本需求3运行环境
(1)采用JAVA开发
(2)后台数据库用SQLServer2005
(3)硬件设备为pc机一台4开发风险浪费人力资源时间资源,改变了原有的手工记录的宿舍管理方式,但对原有的管理制度没有任何影响,基本上不会有什么风险,但开发的项目可能过于简单5经济可行性不需投入太多费用,由学生小组共同开发,利用课余时间开发只需投入使用几台pc机,以实现学生宿舍计算机化管理6技术可行性该小组成员全部来自学校计算机系,学习了软件工程方面的课程,使所学知识用于实践.7社会可行性由于是学生小组开发,也锻炼了小组成员的实际动手能力,丰富了阅历,积累开发经验且开发出的系统由学校内部使用,不涉及盈利方面的问题,不会和社会以及法律造成冲突8总体分析改变了原有的人工记录的操作方式,提高了工作的效率,成本低,实现了学生宿舍计算机化管理具有可行性三系统功能分析该系统的功能主要是针对学生宿舍管理员,可实现如下功能1管理员可以完成对学生学号、姓名、性别、班级、入住时间等学生基本信息的录入、调换寝室,查询学生信息等功能3管理员可完成对楼号、宿舍号、床位数、现住人数等宿舍信息的录入、删除、修改等功能4管理员可完成宿舍分配、退房处理等宿舍工作管理3表
(1)基本信息表(tb_userInfo)字段名意义类型宽度NULLPrimaryKeySs_number寝室号nchar10No√Ss_name姓名nchar10NoSs_class班号nchar10NoSs_sex性别nchar2YesSs_time入住时间nchar20No2寝室(tb_roomInfo)字段名意义类型宽度NULLPaimaryKeyRoom_number寝室号nchar10No√Room_people现住人数IntNo程序的基本界面详细的JAVA界面代码importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassConneClass{Connectionconn=null;Stringtemp[]=newString
[6];publicConneClass{this.initDataBase;}//建立数据库连接publicvoidinitDataBase{try{//加载驱动程序jdbc-odbc桥Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver;//获取数据库连接conn=DriverManager.getConnectionjdbc.sqlserver://localhost:1433:databaseName=ssglxtsa123;}catchClassNotFoundExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}//根据用户名查询一条记录publicString[]selectInfoStringid{StringBuffersb=newStringBuffer;Stringdata[]=newString
[4];intindex=0;ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{callssgl_proc};//设置输入参数proc.setString1id;//调入存储过程proc.execute;booleanhasResult=true;whilehasResult{rs=proc.getResultSet;whilers.next{sb.append\n+temp
[0]=rs.getString1+;sb.appendtemp
[1]=rs.getString2+;sb.appendtemp
[2]=rs.getString3+;sb.appendtemp
[3]=rs.getString4+;sb.appendtemp
[4]=rs.getString5;data[index++]=sb.toString;sb=newStringBuffer;}hasResult=proc.getMoreResults;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}returndata;}//按名字来查询publicString[]selectGerenInfoStringname{Stringdata[]=newString
[3];ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{callselectGeren};//设置输入参数proc.setString1name;//调入存储过程proc.execute;booleanhasResult=true;whilehasResult{rs=proc.getResultSet;whilers.next{data
[0]=rs.getStringss_number;data
[1]=rs.getStringss_class;data
[2]=rs.getStringss_time;break;}hasResult=proc.getMoreResults;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}returndata;}publicintselectAccountStringid{//查询寝室人数intnumber=-1;ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{callselectAccount};//设置输入参数proc.setString1id;//调入存储过程proc.execute;booleanhasResult=true;whilehasResult{rs=proc.getResultSet;whilers.next{number=rs.getIntss_renshu;break;}hasResult=proc.getMoreResults;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}returnnumber;}publicvoidtiaohuanStringidStringoldQsStringnewQs{//调换寝室intnumber=-1;ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{calltiaohuanQs};//设置输入参数proc.setString1id;proc.setString2oldQs;proc.setString3newQs;//调入存储过程proc.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}}//增加人数publicvoidaddPeopleStringid1{ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{calladdPeople};//设置输入参数proc.setString1id1;//调入存储过程proc.executeUpdate;System.out.println添加人数成功;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}}//减一人publicvoidjianPeopleStringid2{ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{calljianPeople};//设置输入参数proc.setString1id2;//调入存储过程proc.executeUpdate;System.out.println旧寝室减少人数成功;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}}//分配寝室,插入一条信息publicvoidinsertStuStringidStringnameStringsexStringClassStringtime{ifconn!=null{try{ResultSetrs=null;//设置调用的存储过程名及参数情况注意的是存储过程不可以有输出参数CallableStatementproc=conn.prepareCall{callinsertStu};//设置输入参数proc.setString1id;proc.setString2name;proc.setString3sex;proc.setString4Class;proc.setString5time;//调入存储过程proc.executeUpdate;System.out.println插入成功;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}else{System.out.println数据库连接失败;}}//关闭数据库操作publicvoidcloseConn{ifconn!=null{try{conn.close;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}}}}主函数代码publicclassMainClass{publicstaticvoidmainString[]args{mainFramemf=newmainFrame;}}功能实现的代码importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextArea;importjavax.swing.JTextField;publicclassmainFrameextendsJFrameimplementsActionListener{//上部面板的说明JPaneljpanel=null;JButtonJBroomid=null;JButtonJBname=null;JButtonJBalter=null;JButtonJBinitStu=null;JPanelcenterPanel=newJPanel;//按寝室号查询JLabelJL=null;JTextFieldJFid=null;JTextAreaJA=null;//按姓名查询JLabelJLname=null;JTextFieldJFname=null;JLabelJLid2=null;JTextFieldJFid2=null;JLabelJLclass=null;JTextFieldJFclass=null;JLabelJLtime=null;JTextFieldJFtime=null;//调换寝室变量JLabelJLname2=null;JTextFieldJFname2=null;JLabelJLold=null;JTextFieldJFold=null;JLabelJLnew=null;JTextFieldJFnew=null;//分配寝室变量JLabelJLid3=null;JTextFieldJFid3=null;JLabelJLname3=null;JTextFieldJFname3=null;JLabelJLsex=null;JTextFieldJFsex=null;JLabelJLclass2=null;JTextFieldJFclass2=null;JLabelJLdate=null;JTextFieldJFdate=null;//全局变量JButtonJBsubmit=null;ConneClassco=newConneClass;intindex=0;publicmainFrame{this.upPanel;this.setTitle寝室管理系统;this.addjpanelNorth;this.addcenterPanelCenter;this.setSize800300;this.setVisibletrue;}publicvoidupPanel{jpanel=newJPanel;JBroomid=newJButton按寝室号查询;JBname=newJButton按名字查询;JBalter=newJButton调换寝室;JBinitStu=newJButton分配寝室;JBroomid.addActionListenerthis;JBname.addActionListenerthis;JBalter.addActionListenerthis;JBinitStu.addActionListenerthis;jpanel.addJBroomid;jpanel.addJBname;jpanel.addJBalter;jpanel.addJBinitStu;}publicvoidinitRoomid{//按寝室号查询学生JFid=newJTextField10;JL=newJLabel清输入寝室号;JBsubmit=newJButton查询;JBsubmit.addActionListenerthis;JA=newJTextArea寝室号、学生姓名、学生性别、班级、总人数、入住时间620;centerPanel.removeAll;centerPanel.addJL;centerPanel.addJFid;centerPanel.addJBsubmit;centerPanel.addJA;}publicvoidinitName{//按姓名查询JBsubmit=newJButton查询;JBsubmit.addActionListenerthis;JLname=newJLabel姓名;JFname=newJTextField10;JLid2=newJLabel寝室号;JFid2=newJTextField10;JLclass=newJLabel班级;JFclass=newJTextField10;JLtime=newJLabel入住时间;JFtime=newJTextField15;//centerPanel.setLayoutnewGridLayout52;centerPanel.removeAll;centerPanel.addJLname;centerPanel.addJFname;centerPanel.addJBsubmit;centerPanel.addJLid2;centerPanel.addJFid2;centerPanel.addJLclass;centerPanel.addJFclass;centerPanel.addJLtime;centerPanel.addJFtime;}publicvoidinitOldToNew{//调换寝室JBsubmit=newJButton调换;JBsubmit.addActionListenerthis;JLname2=newJLabel姓名;JFname2=newJTextField10;JLold=newJLabel旧寝室号;JFold=newJTextField10;JLnew=newJLabel新寝室号;JFnew=newJTextField10;centerPanel.removeAll;centerPanel.addJLname2;centerPanel.addJFname2;centerPanel.addJLold;centerPanel.addJFold;centerPanel.addJLnew;centerPanel.addJFnew;centerPanel.addJBsubmit;}publicvoidinitfenpei{//分配寝室JBsubmit=newJButton添加;JBsubmit.addActionListenerthis;JLid3=newJLabel寝室号;JFid3=newJTextField10;JLname3=newJLabel姓名;JFname3=newJTextField10;JLsex=newJLabel性别;JFsex=newJTextField2;JLclass2=newJLabel班级;JFclass2=newJTextField10;JLdate=newJLabel入住时间;JFdate=newJTextField15;centerPanel.removeAll;centerPanel.addJLid3;centerPanel.addJFid3;centerPanel.addJLname3;centerPanel.addJFname3;centerPanel.addJLsex;centerPanel.addJFsex;centerPanel.addJLclass2;centerPanel.addJFclass2;centerPanel.addJLdate;centerPanel.addJFdate;centerPanel.addJBsubmit;}publicvoidactionPerformedActionEvente{ife.getSource==JBroomid{index=1;this.initRoomid;}elseife.getSource==JBname{index=2;this.initName;}elseife.getSource==JBalter{index=3;this.initOldToNew;}elseife.getSource==JBinitStu{index=4;this.initfenpei;}elseife.getSource==JBsubmit{switchindex{case1:Stringdata[]=co.selectInfoJFid.getText;forinti=0;i4;i++{JA.appenddata[i];}break;case2:Stringw[]=co.selectGerenInfoJFname.getText;JFid
2.setTextw
[0];JFclass.setTextw
[1];JFtime.setTextw
[2];break;case3:ifJFname
2.getText.length==0||JFold.getText.length==0||JFnew.getText.length==0{//不允许响应事件System.out.println不能为空;}else{intv=co.selectAccountJFnew.getText;ifv=0v4{System.out.println寝室未满+v;co.tiaohuanJFname
2.getTextJFold.getTextJFnew.getText;System.out.println完成;co.addPeopleJFnew.getText;co.jianPeopleJFold.getText;}elseSystem.out.println寝室已满;}break;case4:intrenshu=-1;renshu=co.selectAccountJFid
3.getText;ifrenshu=0renshu4{co.insertStuJFid
3.getTextJFname
3.getTextJFsex.getTextJFclass
2.getTextJFdate.getText;co.addPeopleJFid
3.getText;}elseSystem.out.println此寝室己住满;break;default:break;}}this.repaint;this.setVisibletrue;}}。