还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期2013年11月日姓名班级课程名称数据库系统概论任课教师实验项目名称工资管理系统(课程设计)指导教师实验组别第一组同组者教师评语及成绩实验成绩:______________教师签字_____________________________(请按照实验报告的有关要求书写一般必须包括lo实验目的;2,实验内容;
3.实验步骤与方法;4o实验数据与程序清单;5,出现的问题及解决方法;
6.实验结果,结果分析与体会等内容.)一,实验目的
(1)锻炼动手操作能力,以及团队合作意识;
(2)能熟练地运用SQL语句进行各种操作
(3).掌握Java与SQL server的连接技术,能将Java知识与数据库的知识熟练掌握并操作二实验内容工资管理系统1)系统功能的基本要求a)员工每个工种基本工资的设定b)加班津贴管理,根据加班时间和类型给予不同的加班津贴;c)按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;d)员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;e)企业工资报表能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;2)数据库要求:在数据库中至少应该包含下列数据表a)员工考勤情况表;b)员工工种情况表,反映员工的工种、等级,基本工资等信息;c)员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等;d)员工基本信息表e)员工月工资表.三实验步骤与方法第页,共页f.setVisible true;}public voidactionPerformed ActionEvente{if b
3.equalse.getSource{〃返回用户登录d=new用户登录;d.create;fo dispose;}if b2o equals egetSource{//员工信息管理YGGL yg=new YGGL;ygo create;;fo dispose}if bl.equalseo getSource{//工资管理;GZGL gz=new GZGLgZocreate;;fo dispose}}错误!员工基本信息管理import javaawt.Color;import javaoawt.FlowLayout;;import java.awto evento ActionEventimport javaoawto event.ActionListener;import javaosqLConnection;import java.sqLDriverManager;import javasqlResultSet;import javao sqlo SQLException;import java.sql Statement;;import javaxswingJButtonimport javax.swing.JFrame;;import javaxo swingo JLabel;import javax.swingo JOptionPaneimport javaxo swing.JPanel;import javaxoswing.JScrollPane;importjavaxo swingo JSplitPane;;;public classYGGL extends JFrame implements ActionListener{/*———-———----------员工信息管理____—_______/JFrame f=new JFrame,,员工信息管理”;JButton bl=new JButton”添加新员工”;JButton b2=new JButton修改”;JButton b3=new JButton删除”;JButton b4=new JButton查询所有”;JButton b5=new JButton“返回”;;JTextField tfl=new JTextField4JTextField tf2=new JTextField4;;JTextField tf3=new JTextField4;JTextField tf4=new JTextField4;JTextField tf5=new JTextField4;JTextField tf6=new JTextField4;JTextField tf7=new JTextField4JTextField tf8=new JTextField4;;JTextField tf9=new JTextField4;JTextField tflO=new JTextField4JTextField tfl1=new JTextField4;JTextField tfl2=new JTextField4;JTextField tfl3=new JTextField4;JTextField tfl4=new JTextField4;String[]cloum={“编号,姓名;性别“,“学校,“专业“,“学历二”电话,“住址“,岗位”」基本工资7部门,“密码”};;Object[][]row=new Object
[50]
[12];JTable table=new JTablerow,cloum;JScrollPane scrollpane=new JScrollPanetable;JSplitPane splitpane=new JSplitPaneJSplitPaneo VERTICAL_SPLITvoid create{;JPanel p=JPanel f.getContentPane;p setLayout new FlowLayoutp.addoscrollpane;padd splitpane;JPanel pl=new JPanel;;;pl.addbl pl.addb2pl.add b3;pl.addb4;pl o add b5;JPanel p2=new JPanel;p2o setBackgroundColoryellow;o;p2o add scrollpanep.setLayoutnew FlowLayoutQ;p.addnew JLabelpo add newJLabelv编号;;p.add tflp addnew JLabel姓名”;o;p.add tf2p add new JLabel性别;op addtf3;opo add new JLabel毕业学校”;;p addtf4op.addnew JLabel”所学专业“;;p.addtf5p.add new JLabel学历;p.addtf6;p.add new JLabel电话“;p.add tf7;p add new JLabelClifek;op.add tf8;p.addnew JLabel岗位”;p add tf9;op addnew JLabel基本工资”;op.addtflO;p.add newJLabel,部门名称”;;po addtfllpadd new JLabel登录密码;p.add tfl2;op.addnew JLabel,,权限”;po add tf13;p.addnew JLabel输入员工编号点击查询/删除;;p.addtfl4;//splitpane.add pl,splitpane.TOPsplitpane.add pl,splitpane.TOP;splitpane addp2,splitpane.BOTTOMo;splitpane setDividerLocation50;o;p.setBackgroundColoro GREENb
1.addActionListenerthis;b
2.addActionListenerthis;b3o addActionListener this;b
4.addActionListenerthis;b
5.addActionListener;this;setBounds200,100,530,630fofo setResizabletrue;〃可以调整界面大小f.setVisibletrue;public voidactionPerformedActionEvent e{/*———---———-添加新员彳m息、---——----*/ZE.if blequalse.getSource{o;Connection con;Statement sqltry{Class forName^com.microsofto sqlserver.jdbco SQLServerDriverH;o}catch ClassNotFoundException el{JOptionPaneo showMessageDialog this,”连接数据库失败!”;try{Stringurl=Hjdbc:sqlserver//localhost1433;DatabaseName=I资管理系统1n;;String useHsaStringpass=,,7757xiongn;con=DriverManagergetConnectionurl,user,pass;sql=con createStatement;String insertStr=oINSERT INTOJBXXEmpno,Emname,Sex,School,Profession,Education,Phone,Address VALUESgetText+”T+tf2getText+”++tf
3.getText+”,+tf
4.getText”+tf
5.getTextgetText+,”+tf
7.getText+”J+tf8getText+n,;”;sqLexecuteUpdateinsertStr;String insertStrl=INSERT INTOGWXXEmpno,Job,Salary,DeptVALUESM,+tfl.getText+”「+tf
9.getText getText+J+tfl1getText+”;sql.executeUpdateinsertStrl;String insertStr2=INSERT INTOlogininformationEmpno,password,ThegrantVALUES,H+tfl.getText+”J+tfl
2.getText+T+tfl3getText+”;sql.executeUpdateinsertStr2;JOptionPaneo showMessageDialog this,;con.close;}catch SQLExceptionel{JOptionPane.showMessageDialogthis,”添加失败!”;}if b
2.equals egetSource{/*——--------------—————修改员工信息-------一一----一一___--------__------_______*I;Connection conStatement sql;try{Class ofbrNamecommicrosoft.sqlserver.jdbc SQLServerDriver;}catchoClassNotFoundException el{JOptionPaneo showMessageDialogthis,”连接数据库失败!”;}try{Stringurl=v1433;DatabaseName=工资管理系统1”;String user=sa;Stringpass=H7757xiongH;con=DriverManagero getConnectionurl,user,pass;;sql=con.createStatement String updateStr=UPDATE JBXXSET Sex=,H+tf
3.getText+”,Emname=+tf
2.getText+”,School=Mf+tf4o getText+”,Profession=”+tf5getText+*J+,,Education=,,,+tf
6.getText+n\Phone=,H+tf
7.getText+n,,Address=M,+tf
8.getText5where Empno=M,+tfl□getText+”;”;sqLexecuteUpdateupdateStr;String updateStr1=UPDATE GWXXSET Salary=n,+tflO.getText+,Dept=+tfll.getText+»,Job=+tf9getText+where Empno=+tflgetText+H,;”;sqloexecuteUpdateupdateStr1;String updatestr2=UPDATE logininformationSET password=,,,4-tf12getText+,M,oThegrant=+tfl3getText+”where Empno=+tfl.getTextsql oexecuteUpdateupdatestr2;JOptionPane.showMessageDialogthis,”修改成功!”;con close;o}catch SQLExceptionel{JOptionPaneo showMessageDialogthis,修改失败!”;}}if b
3.equals egetSource{/*--------------------------------------------一-册”除员工信息、-----------------_-_--—---------------------―*/;Connection con;Statement sqltry Classo forNamencomo microsofto sqlservero jdbc.SQLServerDrivef,;}catch ClassNotFoundExceptionel{JOptionPaneo showMessageDialog this,连接数据库失败!”;try String url=v jdbcsqlserver//localhost1433;DatabaseName=工资管理系统1”;String user=nsan;Stringpass-,7757xiong^^;;con=DriverManager getConnection url,user,passosql=concreateStatement ResultSetoTYPE_SCROLL_SENSTTIVE,ResultSetoCONCUR_READ_ONLY;sql.executeUpdate^DELETE FROMJBXX where Empno=+tfl4getText+,,,”;;sqlo executeUpdateC^DELETE FROMGWXX whereEmpno=+tfl
4.getTextsql.executeUpdateMDELETE FROMlogininformation whereEmpno=+tfl4getText+”;JOptionPaneo showMessageDialogthis,删除;con.close;}catch SQLExceptionel{JOptionPaneo showMessageDialogthis」删除失败!”;}}if b4o equalse.getSource{/*-————--——查询全部员工信息--------——-—————一--火/;Connection conStatement sql;ResultSet rs;try Classo forName commicrosofto sqlserver jdbcoSQLServerDrivef,;o}catch ClassNotFoundExceptionel{JOptionPane.showMessageDialogthis,连接数据库失败!}try{Stringurl=njdbcsqlserver//localhost1433;DatabaseName=工资管理系统1”;;String user=sa”String pass=7757xiong;con=DriverManager.getConnectionurl,user,pass;sql=cono createStatementResultSetoTYPE_SCROLL_SENSITIVE,;ResultSet.CONCUR_READ_ONLYif b
4.equalse.getSource{for inti=0;i〈50;i++for intj=0;j12;j++tableo setValueAti,j;,rs=sql.executeQuery select distinct JBXX Empno,Emname,Sex,School,Profession,Education,Phone,Address Job,Salary,Dept,logininformation.password fromJBXX,GWXX,logininformation whereJBXX Empno=GWXX Empno and JBXX.Empno=logininfbrmation.Empno;;int k=一1;while rs.next{++k;;String Empno=rs.getString Empno”String Emname=rs getStringCEmname;oString Sex=rsgetStringSex;String School=rs getString,,Schooln;String Profession=rs.getStringProfessiorT;String Education=rs.getString,,Educationn;String Phone=rs.getString,,Phonen;String Address二rs.getString Address;String Job=rs getStringJob1;String Salary=rs.getString Salary”;String Dept=;;rs.getString“Dept”String password=rs.getString password;table.setValueAtEmpno,k,0table.setValueAtEmname,k,1;table o setValueAtSex,k,;;2;table.setValueAt School,k,3table.setValueAtProfession,k,4table osetValueAtEducation,k,5;table.setValueAtPhone,k,6;table osetValueAt Address,k,7;table osetValueAt Job,k,8;table.setValueAtSalary,k,9;tableo setValueAtD叩t,k,;10tableo;setValueAt password,k,11}}}catch SQLExceptionel{JOptionPane.showMessageDialogthis,”查询失败!”;}}if b5o equalse getSource{//返回oGZGLZJM gl=new GZGLZJM;gl.create;f.dispose;}错误!考勤及加班信息管理import java.awt.Color;import java.awt FlowLayout;import java.awto event.ActionEvent;import javaawt.evento ActionListener;oimport java.sqlo Connection;;import java.sqlo DriverManagerimport java.sql.ResultSet;import java.sql.SQLException;importjava sqloStatement;oimport javaxswing.JButton;import javax.swing.JFrame;import javax.swing JLabel;oimport javax.swingo JOptionPane;import javax.swing.JPanel;;import javaxoswing JSplitPane;o;;import javaxo swingoJTextFieldpublic classGZGL extends JFrame implements ActionListener/*-——-----————-员工信息管理--—-—————--一_一一一一一—-------IJFrame f=new JFrame考勤加班信息管理”;JButton bl=new JButton^A;JButton b2=new JButton修改”;JButton b3=new JButton,册U除;JButton b4=new JButton查询所有“;JButton b5二new JButton返回”;JTextField tfl二new JTextField4;JTextField tf2二new JTextField4;;JTextField tf3=new JTextField4JTextField tf4=new JTextField4;;JTextField tf5=new JTextField4;JTextField tf6=new JTextFieId4JTextField tf7=new JTextField4;JTextField tf8=new JTextField4;;JTextField tf9=new JTextField4;JTextField tflO=new JTextField4String[]cloum={员工编号请假天数“,“旷工天数“,“迟到次数“,”晚班天数了周末加班节日加班”」春节加班“月份”};;Object[][]row=new Object
[50]
[9];JTable table=new JTablerow,cloum;JScrollPane scrollpane=new JScrollPanetableJSplitPane splitpane=new JSplitPaneJSplitPane.VERTICAL_SPLIT;void create{;JPanel p=JPanel f.getContentPane;p.setLayoutnew FlowLayoutp.add;scrollpane;p.addsplitpaneJPanel p1二new JPanel;;;pLadd blpl.addb2;pl.addb3plo add b4;pl.add b5;;;JPanel p2=new JPanel p
2.setBackground Color.yellowp2oaddscrollpane;p.setLayout;newFlowLayoutp.addnewJLabelf,n;p.addnew JLabel员工编号”;p.addtfl;po addnew JLabel请假天数”;p.addtf2;po addnew JLabelv旷工天数”;po addtf3;po addnew JLabel迟到次数”;;p.addtf4po addnew JLabeln晚班天数”;;po addtf5p.addnewJLabel,,周末加班”;;po addtf6p.addnewJLabel节日加班”;p.addtf7;po addnewJLabel春节加班”;po addtf8;p.addnewJLabel,月份”;;p.addtf9p.addnewJLabel”输编号点查询删除”;paddtflO;osplitpane.add pl,splitpane.TOP;splitpaneo addp2,splitpane BOTTOM;o;splitpaneo setDividerLocation50po setBackground Color.GREEN;bl o addActionListener this;b2o addActionListenerthis;b3o addActionListener this;b4o addActionListener this;b5o addActionListenerthis;f.setBounds200,100,550,630;fo setResizabletrue;〃可以调整界面大小f.setVisibletrue;}public voidactionPerformedActionEvent e{/*—————-——添力口员工考勤与加班信息----------------------------------------------*/if b
1.equalse.getSource;{Connection con;Statement sqltry Classo forName^com.microsoft.sqlservero jdbc.SQLServerDrivern;}catchClassNotFoundException el{JOptionPaneo showMessageDialogthis,连接数据库失败!”;}try{String url=v jdbc:sqlserver://localhost:1433;DatabaseName=工资管理系统1”;String user=9,saH;Stringpass=n7757xiongH;con=DriverManager.getConnectionurl,user,pass;sql=cono createStatement;String insertStr=INSERT INTOKQXXEmpno,Leavedays,Truancydays,Latetimes,ThemonthVALUES getText+“,9,,+tf
2.getText+”+getText+,,\,,,+tf
4.getText+n\n,+tf
9.getText+”丁;;sqlo executeUpdateinsertStrString insertStr1=INSERT INTOOVERTIMEINFORMATION Empno,Night,Weekend,Festival,Special,ThemonthVALUESp,+tfl ogetText+”J+,,9,,+tf
5.getText+”J+tf6°getText+”J+tf
7.getText+”J+tf8°getText+n,,,M+tf9ogetText+;sqlo executeUpdateinsertStr1;JOptionPaneo showMessageDialogthis,”添加成功!”;con.closeQ;}catch SQLExceptionel{JOptionPaneo showMessageDialogthis,”制口5^!”;if b2o equalse.getSource{/*--——-------------------------------------------------------------------——-一修改员工信息一---_------------_------------------------------------------------―------*/;Connection con;Statement sqltry Class.forName commicrosoft.sqlserver.jdbco SQLServerDrivern;}catchClassNotFoundException el{JOptionPaneo showMessageDialogthis,库如收!”;String url=jdbcsqlserver//localhost:1433;DatabaseName=工资管理系统1”;String user=sa;;String pass=7757xiong”con=DriverManager.getConnectionurl,user,pass;sql=con.createStatement;String updateStr=UPDATE KQXXSET Leavedays=+tf2getText+“,Truancydays=n9+tf
3.getTextLatetimes=9n+tf
4.getText+[Themonth=+tf9getText+,HwhereEmpno=H,+tfl ogetText+;”;sqlo executeUpdate updateStr;String updateStr1=UPDATE OVERTIMEINFORMATIONSET,Night=n,+tf
5.getText nWeekend=,,,+tf
6.getText+n,,Festival-M+tf
7.getText+,,\Special-,,+tf
8.getText+“,Themonth=+tf9getText+,nwhere Empno=,n+tfl getText+;”;o;sqlo executeUpdateupdateStrl JOptionPaneo showMessageDialogthis,修改成功!”;;con.close}catch SQLExceptione l{JOptionPane.showMessageDialogthis,”修改失败!;}}if b3o equalse.getSource{/*——―-----——-一一一-----一一一删」除员工信息、-----------___________________火/一一一■一一一一—_—_———/;Connection con;Statement sqltry ClassofbrName,,com.microsoft.sqlservero jdbc.SQLServerDriver;}catch ClassNotFoundExceptionel{JOptionPane.showMessageDialogthis,”连接数据库失败!”;String url=v jdbcsqlserver//localhost1433;DatabaseName=工资管理系统1”;String useLsa”;;String pass=7757xiong”;con=DriverManager getConnectionurl,user,passosql=cono createStatementResultSet.TYPE_SCROLL_SENSITIVE,ResultSet CONCUR_READ_ONLY;sql.executeUpdate9,DELETE FROMKQXX whereEmpno=+tf
10.getText;sql.executeUpdateHDELETE FROMOVERTIMEINFORMATION whereEmpno=+tflOgetText+;;JOptionPane.showMessageDialogthis,”删除成功!;con.closeQ;}catch SQLExceptionel{JOptionPane.showMessageDialogthis,”删除失败!”;if b4o equalse.getSource{/*一一
(1).需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等.在做这个管理系统时,我们既咨询了父母又结合了教师等不同行业人士的工资情况,发现该系统受些许因素牵制比如说公司大小,人员流动性,员工学历等通过我们的了解调查最终总结出系统功能如下a整体结构合理模块化结构利于操作o完整的数据输入,输出,维护boc.拥有不错的自检性,用户输错或误输均有提示.d.拥有较强的容错性,某个用户的错误操作不会引起系统的瘫痪e程序接口灵活,以便日后操作与维护.of.在不影响系统功能的前提下,美化操作界面
(2).概念设计O,1E-R图O,2数据流图
(3)逻辑设计o基本信息(员工编号号,姓名,性别,毕业学校,所学专业,学历,电话,住址,从事岗位).考勤信息表(员工编号,姓名,请假天数,矿工天数,月迟到次数,月份)加班信息表(员工编号,姓名,晚班加班(天),周末加班(天),春节加班(天),节假日加班(天),月份).岗位信息表(员工编号,姓名,从事岗位,基本工资,部门名称).部门信息表(部门编号,部门名称,部门经理,部门人数)根据基本表创建了如下视图加班津贴(员工编号,姓名,加班薪酬,月份)缺勤扣除表(员工编号,姓名,扣除工资,月份)月工资表(员工编号,姓名,基本工资,扣除工资,加班薪酬,实得工资,月份)歹U名English列名数据类型是否空值备注员工编号Empno int NOT NULLForeignkeyLeavedays请假天数int NULLTruancydays旷工天数int NULLLatetimes月迟到次数⑴int NULL月份int NOT NULLThemonth列名English列名数据聿型是否空值备注吊丁编号Fmnno int NOT NULLForeign kev年终奖(员工编号,姓名,奖晚班加班(天)Niuht int NULL
(4),数据字典2o考勤信息表(KQXX)询全部员工信息--------------------------------------——-_*/Connection con;;Statement sql;ResultSet rstry{Classo forNameucom.microsoftosqlserverojdbc.SQLServerDrivern;}catch
3.加班信息表pVERTIMEINFQR][4ATIQN列名English__-------------------------------------------------------------------------------ClassNotFoundExceptionel{JOptionPane.showMessageDialogthis,”连接数据库失败!”;}try{String url=njdbcsqlserver://localhost:1433;DatabaseName=工资管理系统1”;Stringuser=9,san;String pass=,,7757xiongH;con=DriverManager getConnectionurl,user,pass;osql=concreateStatement ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY;if b
4.equalse.getSource;{for inti=0i50;i++for intj=0;j〈9;j++table.setValueAtn,\i,j;rs二sql.executeQueryf^electdistinct*from;KQXX,OVERTIMEINFORMATION whereKQXX.Empno=OVERTIMEINFORMATIONo Empno”int k=-1;while rsonext{++k;String Empno=rs getStringo1;String Leavedays=rs getStringLeavedays“;o;String Truancydays=rs.getString TruancydaysStringLatetimes=rs-getStringCTatetimes**;String Night=rs.getString,,NightH;;String Weekend=rs.getString WeekendString Festival=rs getStringFestival;o;;String Special=rso getStringSpecial StringThemonth=rs getString Themonth tableo;oset Value AtEmpno,k,0table.setValueAtLeavedays,k,table setVai ueAtTruancydays,k,2;1;otable.setValue AtLatetimes,k,3;table osetValueAt Night,k,4:table.setValueAWeekend,k,5;table.setValueAt Festival,;k,6table setValueAtSpecial,k,7;table setValue Ato o;Themonth,k,8}}}catch SQLExceptionel{JOptionPane.showMessageDialogthis,”查询失败!”;}}if b5o equalseogetSource{〃返回GZGLZJM gl=new GZGLZJM;|gLcreate f.dispose;;}}}错误!员工个人工资查询import java.awt.Color;import java.awt FlowLayout;;import javaoawt.event.ActionEvent;import java.awto evento ActionListenerimport java.sqlo Connection;import javaosqlo DriverManager;import javasqLResultSet;;import javaosqlo SQLExceptionimport javaosql.Statement;;import javax.swing.JButtonimport javax.swing.JFrame;;import javax.swingo JOptionPaneimport javaxoswing.JPanel;import javaxoswing.JScrollPane;import javax.swingoJSplitPane;;import javax.swing.JTablepublic classYGDLJM extends用户登录implements ActionListener{/*————---j/i--n一___n__————用户界面—---————--------*/JFrame f=new JFrame“工资管理”;JButton bl=new JButton查询个人工资”;JButton b2=new JButton修改密码”;JButton b3=new JButton“;String[]cloum={”员工编号“,“姓名”,“基本工资“,“加班薪酬扣除工资“,“实得工资”」月份”};;Object[][]row=new Object
[50]
[7]JTable table二new JTablerow,cloum;;JScrollPane scrollpane=new JScrollPanetableJSplitPane splitpane=new JSplitPaneJSplitPaneo VERTICAL_SPLIT;void create{JPanel p=JPanel fgetContentPane;;p.setLayoutnew FlowLayout;p.addscrollpane;po addsplitpane;JPanel pl=new JPanel;pl.addbl;pl.addb2;pl.addb3;JPanel p2=new JPanelQp
2.setBackgroundColor.yellow;p
2.addscrollpane;;JPanel p3=new JPanelp.setLayoutnew FlowLayout;;splitpane add pl,splitpane TOPoosplitpane.addp2,splitpane□BOTTOM;;splitpaneo setDividerLocation50;//p.setBackground ColoroCYAN;setBackgroundColor.GREENpob
1.addActionListener this;b2o addActionListenerthis;b
3.addActionListener this;;setBounds200,100,500,550fofo setResizablefalse;//不可以调整界面大小f.setVisibletrue;public voidactionPerformed ActionEvente{if blequalse getSource{//查询个人工资oo;Connection con;Statementsql;ResultSet rstry{Classo forNamecommicrosoft.sqlserver.jdbc□SQLServerDrivern;}catch ClassNotFoundExceptionel{Systemo outoprintln,n,+el;}try{Stringurl=M1433;DatabaseName=匚资管理系统1”;Stringuser=,,san;String pass=7757xiong”;con=DriverManagero getConnectionurl,user,pass;sql二concreateStatement ResultSetTYPE_SCROLL_SENSITIVE,oResultSet.CONCUR_READ_ONLY;if bloequals egetSource;{for inti=0;i50i++for intj=0;j〈7;j++table.setValueAt心,i,j;rs=sql oexecuteQueryselect distinctSALARY Empno,Emname,Salary,Overtimesalary,Deductions,Gainsalary,Themonth fromSALARY,logininformation whereSALARYoEmpno-n+tl+^and logininfbrmation.password=”+t2+””;int k=—1;while rs.next{;++kString Empno=rs.getStringEmpno”;String Emname=rs.getString Emname;String Salary=rsgetStringCSalary”;String Overtimesalary=rs getStringHOvertimesalaryn;oString Deductions=rs getStringDeductions;o;String Gainsalary=rso getStringGainsalary StringThemonth=rs.getStringThemonth;table.setValueAtEmpno,k,0;tableo setValueAtEmname,k,1;;table osetValueAt Salary,k,2;table.setValueAtOvertimesalary,k,3;table.setV alueAtDeductions,k,4tableo setValueAtGainsalary,k,5;;tableo setValueAtThemonth,k,6}}}catch SQLExceptionel{JOptionPane.showMessageDialogthis,;}}if b
2.equalse.getSource{〃修改密码修改密码xgmm=new修改密码;;xgmm.create}if b
3.equalsegetSource{〃返回用户登录dl-new用户登录;dl.create;;fo dispose}}}7员工登录密码修改import java.awt Color;import java.awt.FlowLayout;import javaoawto eventoActionEvent;import javaawt.evento ActionListener;;importjava sqLConnectionoimport java.sql.DriverManager;;importjavao sqLSQLExceptionimport java.sql.Statement;import javax.swing JButton;import javaxswing.JFrame;;import javaxswing.JLabelimport javax.swingo JOptionPane;importjavaxo swing.JPanel;;import javaxswing.JPasswordField/*———————-------修改密码------—■--------------------------__-------------_*/class修改密码extends用户登录implements ActionListener{JFrame frame=new JFrame“密码修改”;JLabel label1=newJLabel“原密码”;JLabel label2=newJLabel新密码;JButton Button1=new JButton确定”;JButton cancelButton=new JButton“返回”;JPasswordField password=new JPasswordField9;JPasswordField newpassword=new JPasswordField9;voidcreate{J Panelp=JPanel frameo getContentPane;p.setLayoutnew FlowLayout;padd label1;psetSize5,5;p.setLocation4,8;paddpassword;p.setSize100,200;po;setLocation600,600;;;p.add label2p osetSize50,20p.setLocation40,80p.addnewpassword;p osetSize100,20;po;;setLocation80,120p.addButton1;p.addcancelButton;p.setBackgroundColoro yellow;;p.setVisibletrue Button
1.addActionListenerthis cancelButton.addActionListenerthis;frame.setDefaultCloseOperation JFrame.EXIT_ON_CLOSE;frame.pack;;;frame.setBounds200,100,500,220frameo setVisible true}public voidactionPerformedActionEvent e{if e.getSource==Buttonl{;;Connection conStatementsqltry ClassoforNamencom.microsoft.sqlserver.jdbc oSQLServerDrivern;}catch ClassNotFoundExceptionel{JOptionPaneo showMessageDialogthis,”连接数据库失败!”;}try{Stringurl=n1433;DatabaseName=工资管理系统1”;String user=sa;String pass=,,7757xiongn;;;con=DriverManagero getConnectionurl,user,pass sql=con.createStatementStringupdateStr=UPDATE logininformationSETpassword=H+newpasswordgetText+whereEmpno=+tl+;sql oexecuteUpdateupdateStr;JOptionPaneo showMessageDialogthis,”修改成功!”;con.close;}catch SQLExceptionel{JOptionPane.showMessageDialogthis,”请输入原密码和新密码!”;}}if egetSource==cancelButton〃返回{;YGDLJM dl=new YGDLJM;dlo create frameo;dispose}}五.出现的问题与解决方法
1.在建立数据库视图的时候提示某属性不能识别,因为多个基本表中都有此属性,应该在此属性名前边加上所属表名和小数点,建立成功.2o在设计过程中连接数据库时出现连接错误,经过调试发现是登录密码未填写正确,修改后连接成功.
3.当使用者以管理员身份进入员工信息管理时会发现所有员工编号是乱序应该附加使用order byEmpno asc
4.在查询添加修改删除界面进行操作时出现数据库连接失败,发现是连接数据库名未正确填写,修改后发现依然不能执行,经过仔细检查发现SQL语句出现错误,经过认真修改,运行成功5o界面美化做得不充分应当看更多的资料学习更加优化的Java编写技术
6.设计不够人性化:a、修改密码时,只需访问原始密码即可修改导致数据安全性较低b、无论入库人员是何种身份在使用完数据后还必须单击查询才可显示出修改数据步骤繁琐六心得体会经过近两个月的编写与改进,我们基本完成了此次课程设计的内容发现只学课本上的内容是远远不够的,实验的重要性越发的突出,课程设计的必要性也不言而喻;课程设计一方面能够加强同学之间的团队合作,共同学习,共同进步,另一方面能够锻炼我们的思维,在不断的错误与改进中进步,升华,并且加强了我们的动手实践操作能力在此次课程设计过程中我们遇到了许多问题,发现还有很多不足之处,通过查阅资料,翻看视频等途径,我们最终克服了这些困难.实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果此次设计也让我明白了思路即出路,有仕么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰Weekend int NULL周末加班天Festival节日加班天int NULLSpecial春节加班天intNULL月份int NOT NULLThemonth
4.员工岗位及登录信息表GWXX列名English列名数据类型是否空值备注员工编号Empno int NOT NULLForeignkeyJob NOT NULL从事岗位varchar16Salary基本工资money NOTNULLDept部门名称varchar16NOTNULL
5.部门信息表BMXX列名English列名数据类型是否空值备注部门编号Deptno int NOTNULLPrimarykeyDept部门名称varchar16NOT NULLManager部门经理varchar8NULLEmpnum部门人数intNULL登录信息表logininformation6o列名English列名数据类型是否空值备注Empno员工编号int NOTNULL登录用户名Password密码Varchar8NullThegrand权限Varchar8Null视图的创建
1.加班津贴表JBJT列名English列名数据类型是否空值备注Empno员工编号int NOT NULLEmname姓名varchar8NOT NULLOvertimesalary加班薪酬Money NULL月份intNOTNULLThemonth.缺勤扣除表2QQKC歹U名English列名数据类型是否空值备注Empno员工编号intNOTNULLEmname姓名varchar8NOT NULLDeductions扣除工资Money NULL月份intNOTNULLThemonth.月工资表3SALARY列名English列名数据类型是否空值备注Empno员工编号intNOTNULLEmname姓名varchar8NOT NULLSalary基本工资money NOTNULLDeductions扣除工资Money NULLOvertimesalary加班薪酬Money NULLGainsalary实得工资Money NULLNOTNULL月份intThemonth
4.年终奖NZJJ列名English列名数据类型是否空值备注员工编号Empno intNOTNULLEmname姓名varchar8NOTNULL奖金Jiangjin moneyNULL
5.系统的实现开发环境SQL server2005及eclipse错误!用SQL语言创建数据库lo基本信息表JBXX select
2.考勤信息表KQXXJBXXo Empno,JBXX.Emname,Create tableJBXXCreate tableKQXX Empno int not null,Empno intnot nullprimarykey,Leavedays intnull,Truancydays intnull,Emname varchar8not null,Latetimes intnull,Themonth intnot nulhSexchar2checkSex=男or Sex=女,FOEREIGN KEYEmpno REFERENCESSchoolvarchar20null,JBXXEmpnoProfession varchar20nulLEducation varchar6null,
4.员工岗位及登录信息表GWXXPhone char11null,Address varchar15null力口班信息、表OVERTIMEINFORMATION3oCreate tableOVERTIMEINFORMATIONEmpno intnot null,night*70+weekend*80+festival*140+special*210,Themonth fromOVERTIMEINFORMATION,JBXXNight intnull,Create tableGWXXWeekend intnull,Empnointnot null,Festival intnull,Job varchar16not null,Special intnull,Salary moneynot null,Themonth intnot null,Dept varchar16not null,FOEREIGN KEYEmpno REFERENCESJBXXEmpnoFOEREIGN KEYEmpno REFERENCES
5.部门信息表BMXXJBXXEmpnoCreate tableBMXX
6.登录信息表logininformationDeptno intnot nullprimary key,DeptCreate tablelogininformationvarchar16not null,ManagervarcharEmpno intnotnull,8null,Empnum intnullPassword Varchar8null,Do加班津贴表JBJTThegrand Varchar8nullCreate viewJBJT Empno,Emname,hemonthAswhere OVERTIMEINFORMATIONEmpno=JBXX.Empnoo
2.缺勤扣除表QQKCCreate viewQQKCEmpno,Emname,Deductions,ThemonthAsselect JBXX.Empno,JBXXo Emname,Truancydays*80+Leavedays*40+Latetimes*10,Themonthfrom KQXX,JBXXwhere JBXX.Empno=KQXXEmpno
3.月工资表SALARYCreate viewSALARY2Empno,Emname,Salary,Deductions,Overtimesalary,Gainsalary,Themonth Asselectdistinct JBXXEmpno,JBXX.Emname,GWXX Salary,Deductions,Overtimesalary,GWXX.Salary+o oOvertimesalary-Deductions,QQKCo Themonthfrom KQXX,GWXX,QQKCJBJT,JBXX,OVERTIMEINFORMATIONwhere QQKC.Empno二JBJT.Empno andGWXX.Empno=JBXXo Empnoand OVERTIMEINFORMATIONoEmpno=QQKCo EmpnoandQQKC.Empno=JBXX.EmpnoandKQXX.Themonth=OVERTIMEINFORMATION.Themonthand JBXXEmpno二KQXXEmpno andQQKC.Emname=JBJTEmname andJBJT Emname=JBXX.Emname4年终奖NZJJCreate viewNZJJ Empno,Emname,jiangjin AsSelectJBXX.Empno,JBXX.Emname,sumSALARY.Gainsalary+sum SALARYoOvertimesalary/12FromKQXX,JBJT,JBXX,SALARY,OVERTIMEINFORMATIONGroup byJBXX.Empno,JBXXo Emname,SALARYEmpnohaving JBXX.Empno=SALARYo Empnoand JBXXoEmpno=SALARY Empno错误!在eclipse中连接SQL server数据库03编写界面设计的代码错误!运行系统与检验,调试系统四实验数据与程序清单Connect ion连接代码import javasql.*;opublic classconnection{public staticvoid mainString口srg{String driverName=JJ;//力口载JDBC驱动String dbURL=jdbcsqlserver//localhost1433;DatabaseName=工资管理系统1”;//连接服务器和数据库sa叩leString user=sa”;〃默认用户名String pass=7757xiong;〃密码Connection Con=null;try{ClassoforNamedriverName;;Con=DriverManagero getConnectiondbURL,user,passSystem.printin”数据库连接成功!;}catch Exceptione{System.out.printin”数据库连接失败!”;eprintStackTrace;}finally{try{;Con.close}catch SQLExceptione{//eo TODO Auto-generated catchprintStackTrace;}}}}错误!系统进入欢迎界面import java.awt*;importjava.awto event.*;importjavax.swing*;class DBextends JFrameimplements ActionListener{JFrame frame=new JFrame欢迎进入企业工资管理系统JLabel label=new JLabelH,\JLabel CENTER;oJButton buttonl=new JButton进入系统”;JButton button2=new JButton”退出系统”;Imageicon im=new Imageicon”
1.jpg;JLabel al=newJLabelim;void Create{J PanelpcontentPane=JPanel framegetContentPane;pcontentPane.add al;opcontentPane.addlabel;pcontentPane setLayoutnew FlowLayout;pcontentPane.addbutton1;pcontentPane addbutton2;pcontentPane.setVisibletrue;button1addActionListenerthis;obutton!addActionListenerthis;frameo;setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;frame.pack frameosetBounds200,100,550,;230;;frame.setVisibletrue}public staticvoid mainStringf]args{DB dome=new DBdome.Create;}public voidactionPerformed ActionEvente{if buttonl.equalsegetSource{用户登录odl=new用户登录0;dLcreate;frame.dispose;}if button
2.equalseo getSource{〃退出System.exit0;}}}错误!登陆界面importjavaawt Color;;import javaoawt.FlowLayout;importjava.awt.eventoActionEventimportjava.awt.event.ActionListener;;importjava sqLConnectionoimportjava.sqlo DriverManager;importjava.sql.ResultSet;;importjava.sql Statementimport javaxo swingoImageicon;;import javax.swing JButton;import javaxswing JLabel;importjavaxo swing.JOptionPane;importjavaxo swingJPanel;oimport javaxoswing.JPasswordField import javax.swing JTextField;;o/*----------------------———-------——_____------------------———*/一用户与管理员登录-class用户登录extendsJFrameimplementsActionListener{Imageicon im=new Imagelcon
2.jpg;JLabel a2=new JLabelim;JFrame frame=new JFrame职工/管理员登陆”;JLabel label1=newJLabel用户名”;JLabel labe12=newJLabel密码”;JButton logonButtonl=new JButton,管理员登录;JButton logonButton2=new JButton,职工登录JButtoncancelButton=new JButton退出”;JTextField username=new JTextField9;JPasswordField password=new JPasswordField9;static Stringtl;static Stringt2;void create{;JPanel p=JPanel framegetContentPane JPanelp1=new JPanel;osetLayoutnew FlowLayout;po;;p.add a2p.addlabell p.setSize5,5setLocation4,8;p.add username;;popo setSize100,200;;p setLocation800,800op.addlabel2p.setSize50,20;p.setLocation40,80;;addpassword;pop setSize100,20;o;p.setLocation80,120p addlogonButtonl;p.addo;logonButton2p.addcancelButton;p.setBackgroundColor.yellow;p setVisibletrue;logonButton
1.addActionListenerothis;logonButton
2.addActionListenerthis;cancelButtono addActionListenerthis;frame.setDefaultCloseOperationJFrameEXIT_ON_CLOSE;frame.pack;frame.setBounds200,;100,500,260frame.setVisibletrue;public voidactionPerformedActionEvent e;tl=username.getTextt2=password.getText;ife.getSource==logonButton1{if username.getText oequals admirT==true password.getText equals9,adminn==true{JOptionPaneo showMessageDialogthis,“登录成功!GZGLZJM gz=new GZGLZJMgZo;;createframedispose else{;o}JOptionPaneoshowMessageDialognull,”输入用户名或密码错误!”;}if e.getSource=logonButton2{try{Connection con;Statement ps;;ResultSet rsStringsql=null;;ClassoforName^com.microsoftosqlserverjdbc.SQLServerDriveroStringurl=njdbc1433;DatabaseName=工资管理系统1”;Stringuser=sa;Stringpass=,97757xiongn;;con=DriverManagero getConnectionurl,user,passsql=,,select*from logininformationwhereEmpno=+tl+”and password-”+t2+””;Statement sta=con.createStatement rs=sta.executeQuerysql;;ifrs.next{if rsogetString Empnoequals1rs getStringpassword.equals t2{YGDLJMoyg=new YGDLJM;;;ygo createframe.disposeJOptionPane.showMessageDialogthis,登录成功!”;thiso dispose;else{JOptionPane.showMessageDialogthis,”输入用户名或密码错误!”;}}catch Exceptionel{//TODOAuto-generated catchblockel oprintStackTrace;}}if cancelButtonoequalse.getSource〃退出{;System.exit0}}O,3管理员可管理选项;importjava.awto FlowLayout;;importjavaawt.eventoActionListener;oimport javaxswing.Imageicon;importjavaxo swingoJButton;;importjavax.swing.JFrameimportjavaxo swingoJLabel;importjavax.swing.JPanel;class GZGLZJMextendsJFrameimplementsActionListener{JFrame f=new JFrame工资管理系统”;/*---一---------跳转页面______--_--_*/JButton bl=new JButtonHX资管理”;JButton b2=new JButtonn员工信息管理”;JButton b3=new JButtonv返回”;Imageicon im=new ImageIcon,,
3.jpgM;JLabel al=new JLabelim;void create{;JPanelp=JPanel f.getContentPane p.setLayoutnewFlowLayout;;p.addal;p.addblpadd b2;p.add;b3;p.setBackgroundColoro yellowpo setVisibletrue;bl.addActionListenerthis;;b2oaddActionListenerthis;b3o addActionListenerthisf.setBounds;200,100,500,200。