基于java的職工考勤管理信息系統(tǒng)_第1頁(yè)
基于java的職工考勤管理信息系統(tǒng)_第2頁(yè)
基于java的職工考勤管理信息系統(tǒng)_第3頁(yè)
基于java的職工考勤管理信息系統(tǒng)_第4頁(yè)
基于java的職工考勤管理信息系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、小型應(yīng)用系統(tǒng)學(xué)年設(shè)計(jì)任務(wù)書 學(xué) 院計(jì)算機(jī)與信息工程學(xué)院專 業(yè)網(wǎng)絡(luò)工程課程名稱小型應(yīng)用系統(tǒng)設(shè)計(jì)題 目職工考勤管理信息系統(tǒng)完成期限自2016年7月26日至2016年8月26日共四周內(nèi)容及任務(wù)一、項(xiàng)目的目的采用Java和MySQL數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)一個(gè)小型應(yīng)用系統(tǒng)實(shí)現(xiàn)職工考勤管理信息。鍛煉在軟件設(shè)計(jì)過(guò)程中的業(yè)務(wù)邏輯和業(yè)務(wù)流程設(shè)計(jì)能力、以及圖形化的用戶界面設(shè)計(jì)和數(shù)據(jù)庫(kù)的使用能力。二、項(xiàng)目任務(wù)的主要內(nèi)容和要求采用Java和MySQL數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)一個(gè)小型的應(yīng)用系統(tǒng)實(shí)現(xiàn)職工考勤信息的管理,有圖形化的用戶界面。內(nèi)容及要求如下:(1)職工信息,包括職工編號(hào)、職工姓名、性別、年齡、職稱等;(2)出勤記錄信息,包

2、括上班打卡時(shí)間,下班打開時(shí)間,缺勤記錄等;(3)出差信息,包括出差起始時(shí)間、結(jié)束時(shí)間、統(tǒng)計(jì)總共天數(shù)等;(4)請(qǐng)假信息,包括請(qǐng)假開始時(shí)間,結(jié)束時(shí)間,統(tǒng)計(jì)請(qǐng)假天數(shù)等;(5)加班信息,包括加班開始時(shí)間、結(jié)束時(shí)間、統(tǒng)計(jì)加班總時(shí)間。三、項(xiàng)目設(shè)計(jì)(研究)思路先期設(shè)計(jì)數(shù)據(jù)庫(kù),畫出數(shù)據(jù)庫(kù)的E-R圖,設(shè)計(jì)員工表,出差表,出勤表,加班表,請(qǐng)假表。然后設(shè)計(jì)和制作分別完成各個(gè)小項(xiàng)的功能,如員工表的增加、刪除、查詢、修改以及其他表格的查詢。在各個(gè)小功能都完善后,接入數(shù)據(jù)庫(kù),再考慮設(shè)計(jì)一個(gè)主界面,將軟件的各項(xiàng)功能集成在一起。小系統(tǒng)達(dá)成后,進(jìn)行調(diào)試與界面編輯設(shè)計(jì),最終完成設(shè)計(jì)。四、具體成果形式和要求(1)設(shè)計(jì)完成一個(gè)職工考

3、勤管理信息系統(tǒng)。要求能對(duì) MySQL 數(shù)據(jù)庫(kù)進(jìn)行增、刪、改、查操作,并且具備圖形化的用戶界面。(2)完成和提交一份職工考勤管理信息設(shè)計(jì)報(bào)告文檔。進(jìn)度安排起止日期工作內(nèi)容2016.7.258.10根據(jù)軟件設(shè)計(jì)要求,查詢相關(guān)Java、數(shù)據(jù)庫(kù)知識(shí)。203構(gòu)建數(shù)據(jù)庫(kù)結(jié)構(gòu),編寫程序應(yīng)用界面。206調(diào)試程序,完善功能,完成學(xué)年設(shè)計(jì)報(bào)告。主要參考資料1.王誠(chéng).JAVA 實(shí)用編程技術(shù)M.北京:人民郵電出版社,2012.2.王雨竹.MySQL入門經(jīng)典M.北京:機(jī)械工業(yè)出版社,2013.3.張逸.軟件設(shè)計(jì)精要與模式M.北京:電子工業(yè)出版社,2007.4.王德永.數(shù)據(jù)庫(kù)原理與

4、應(yīng)用M.北京:人民郵電出版社,2011.5.美Bruce Eckel.Java編程思想M.北京:機(jī)械工業(yè)出版社,2007.6.美Herbert Schildt著.馬海軍,景麗等譯.Java實(shí)用教程(第三版).北京:清華大學(xué)出版社.2005.指導(dǎo)教師意見(簽字): 年 月 日系(教研室)主任意見(簽字): 年 月 日職工考勤管理信息系統(tǒng)設(shè)計(jì)說(shuō)明書(封面)學(xué)院名稱: 計(jì)算機(jī)與信息工程學(xué)院 班級(jí)名稱: 網(wǎng)絡(luò)工程14級(jí)2班 學(xué)生姓名: 朱賽賽 學(xué) 號(hào): 題 目: 職工考勤管理信息系統(tǒng) 指導(dǎo)教師姓 名: 任倩 起止日期: 2016.7.26 2016.8.26 目錄第一部分:正文部分1一、選題背景1二、

5、方案論證(或設(shè)計(jì)理念)1三、過(guò)程論述13.1相關(guān)知識(shí)介紹13.2系統(tǒng)功能模塊圖23.3系統(tǒng)流程圖23.4數(shù)據(jù)庫(kù)設(shè)計(jì)33.5系統(tǒng)的各部分功能模塊設(shè)計(jì)43.5.1系統(tǒng)管理部分設(shè)計(jì)43.5.2職工信息管理部分設(shè)計(jì)103.5.3出勤信息查詢153.5.4出差信息查詢173.5.5請(qǐng)假信息查詢183.5.6加班信息查詢193.5.7系統(tǒng)主界面集成設(shè)計(jì)21四、結(jié)果分析254.1登錄系統(tǒng)測(cè)試254.2員工管理測(cè)試264.3出勤信息查詢測(cè)試264.4出差信息查詢測(cè)試264.5請(qǐng)假信息查詢測(cè)試274.6加班信息查詢測(cè)試27五、結(jié)論(或總結(jié))28第二部分:參考文獻(xiàn)28第三部分:指導(dǎo)教師評(píng)語(yǔ)30第四部分:成績(jī)?cè)u(píng)定3

6、0第一部分:正文部分一、選題背景計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,給信息時(shí)代的人們帶來(lái)了很大的便利。如今在互聯(lián)網(wǎng)上,隨處可見各種類型的信息管理系統(tǒng)。隨著信息技術(shù)的發(fā)展已經(jīng)深入到社會(huì)的各個(gè)角落,各個(gè)大小企業(yè)都充分認(rèn)識(shí)到傳統(tǒng)的手工管理模式已經(jīng)不能順應(yīng)時(shí)代的發(fā)展,為了企業(yè)更好的發(fā)展,紛紛開發(fā)適合自己的管理系統(tǒng)。相對(duì)于手工管理模式的效率低,易出錯(cuò),手續(xù)繁瑣,耗費(fèi)大量的人力,物力,財(cái)力來(lái)說(shuō),職工考勤管理信息系統(tǒng)能夠通過(guò)電腦化管理實(shí)現(xiàn)職工信息增加,刪除,修改,以及出勤信息,出差信息,請(qǐng)假信息,加班信息的查詢。二、方案論證(或設(shè)計(jì)理念)由于該系統(tǒng)所要滿足的硬件是計(jì)算機(jī),軟件方面是采用JDK1.8 開發(fā)環(huán)境、Eclips

7、e 開發(fā)工具和MySQL 數(shù)據(jù)庫(kù),這些設(shè)備和軟件易于實(shí)現(xiàn)和滿足。采用的語(yǔ)言是Java 語(yǔ)言,具有可移植性,功能易于實(shí)現(xiàn),界面比較美觀,操作簡(jiǎn)單,能夠移植到其他計(jì)算機(jī)上運(yùn)行,與平臺(tái)無(wú)關(guān),能夠滿足更多的用戶,使得該系統(tǒng)能被很多家庭所接受和使用。因此采用該Java+MySQL 方案來(lái)設(shè)計(jì)職工考勤管理信息系統(tǒng)。三、過(guò)程論述3.1 相關(guān)知識(shí)介紹MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),MySQL 最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。MySQL是一種關(guān)

8、聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的 SQL 語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL 軟件采用了雙授權(quán)政策,其體積小、速度快、總體擁有成本低,致使其被廣泛應(yīng)用。Eclipse 是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。3.2 系統(tǒng)功能模塊圖在該小型應(yīng)用系統(tǒng)中,用戶可以直接執(zhí)行管理員權(quán)限

9、,對(duì)員工信息進(jìn)行增刪,修改,保存,實(shí)現(xiàn)出勤信息,出差信息,加班信息,請(qǐng)假信息的查詢。系統(tǒng)功能如圖3-1所示。圖3-1系統(tǒng)功能模塊圖3.3 系統(tǒng)流程圖在該系統(tǒng)中,用戶可以通過(guò)可以運(yùn)行程序進(jìn)入主界面,在主界面中可以管理各個(gè)功能模塊,進(jìn)而通過(guò)各個(gè)功能模塊對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)操作和管理。系統(tǒng)流程圖如圖3-2所示。圖3-2 系統(tǒng)流程圖3.4數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)實(shí)體類型、屬性和聯(lián)系的方法,繪制職工,出勤,出差,加班,請(qǐng)假實(shí)體集間的實(shí)體-聯(lián)系圖。如圖3-3所示。圖3-3 E-R圖本系統(tǒng)的基本功能是設(shè)計(jì)職工考勤管理信息,因此設(shè)置了5張表,分別是表Yuangong、表Chuqin、表Chuchai、表Qingjia、

10、表Jiaban。對(duì)數(shù)據(jù)的增、刪、改、查,主要在這四個(gè)表上進(jìn)行。(1) 員工表用來(lái)記錄員工的基本信息,表結(jié)構(gòu)如表3-1所示。表3-1 員工表屬性名類型長(zhǎng)度字段約束含義Idint5not null編號(hào)Namechar4not null姓名Sexchar2check性別Ageint2not null年齡Zhichenchar4null職稱(2) 出勤表用來(lái)記錄出勤的基本信息,表結(jié)構(gòu)如表3-2所示。表3-2 出勤表屬性名類型長(zhǎng)度字段約束含義Idint5not null編號(hào)Am0date0null上午開始打卡Pm0date0null下午開始打卡Am1date0null上午結(jié)束打卡Pm1date0null

11、下午結(jié)束打卡Judgeint5null缺勤記錄(3) 出差表用來(lái)記錄出差的基本信息,表結(jié)構(gòu)如表3-3所示。表3-3 出差表屬性名類型長(zhǎng)度字段約束含義Idint5not null編號(hào)Begindaydate0null開始時(shí)間Enddaydate0null結(jié)束時(shí)間Daysint5null總時(shí)間(4) 請(qǐng)假表用來(lái)記錄請(qǐng)假的基本信息,表結(jié)構(gòu)如表3-4所示。表3-4請(qǐng)假表屬性名類型長(zhǎng)度字段約束含義Idint5not null編號(hào)Begindaydate0null開始時(shí)間Enddaydate0null結(jié)束時(shí)間Daysint5null總時(shí)間(5) 加班表用來(lái)記錄加班的基本信息,表結(jié)構(gòu)如表3-5所示。表3-5

12、 加班表屬性名類型長(zhǎng)度字段約束含義Idint5not null編號(hào)BeginTimedate0null開始時(shí)間EndTimedate0null結(jié)束時(shí)間SumTimedouble6null總時(shí)間3.5 系統(tǒng)的各部分功能模塊設(shè)計(jì)3.5.1系統(tǒng)管理部分設(shè)計(jì)系統(tǒng)管理模塊的主要功能有:用戶登錄、退出。該模塊可以實(shí)現(xiàn)用戶的登錄,在程序中主要涉及的類為CheckPassword,在系統(tǒng)核對(duì)用戶名和密碼時(shí)需對(duì)數(shù)據(jù)庫(kù)test中的user1表進(jìn)行查詢對(duì)比。登錄界面如圖3-4所示。圖3-4 用戶登錄界面具體代碼如下:public static void main(String args) try UIManager

13、.setLookAndFeel(com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel); catch (Throwable e) e.printStackTrace(); EventQueue.invokeLater(new Runnable() public void run() try ExpandFrame frame = new ExpandFrame(); frame.setVisible(true); catch (Exception e) e.printStackTrace(); ); public ExpandFrame() this

14、.setTitle(登錄窗體); addWindowListener(new WindowAdapter() Override public void windowOpened(WindowEvent e) do_this_windowOpened(e); ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 0, 221); contentPane = new JPanel(); contentPane.setBackground(new Color(135, 206, 250); contentPane

15、.setBorder(new EmptyBorder(5, 5, 5, 5); setContentPane(contentPane); contentPane.setLayout(null); JLabel label = new JLabel(登錄模塊); label.setOpaque(true); label.setBackground(new Color(245, 222, 179); label.setHorizontalAlignment(SwingConstants.CENTER); label.setFont(new Font(SansSerif, Font.PLAIN, 3

16、0); label.setBounds(6, 6, 422, 72); contentPane.add(label); JLabel label_1 = new JLabel(用戶名:); label_1.setBounds(31, 90, 55, 18); contentPane.add(label_1); JLabel label_2 = new JLabel(密碼:); label_2.setBounds(31, 134, 55, 18); contentPane.add(label_2); textField = new JTextField(); textField.setBound

17、s(83, 84, 184, 30); contentPane.add(textField); textField.setColumns(10); textField_1 = new JTextField(); textField_1.setBounds(83, 128, 184, 30); contentPane.add(textField_1); textField_1.setColumns(10); JButton button = new JButton(登錄); button.setBounds(304, 84, 90, 30); contentPane.add(button); b

18、utton.addActionListener(new Enter(); JButton button_1 = new JButton(關(guān)閉); button_1.setBounds(304, 128, 90, 30); contentPane.add(button_1); setLocationRelativeTo(null); button_1.addActionListener(new Close();class Enter implements ActionListenerpublic void actionPerformed(ActionEvent e) setVisible(fal

19、se);tryClass.forName(com.mysql.jdbc.Driver); catch(ClassNotFoundException e1)System.out.println(加載驅(qū)動(dòng)程序失敗!); tryConnection con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/test,root,root);Statement sql=con.createStatement();String uname=textField.getText().trim();String Mima=textField_1.get

20、Text().trim();String queryMima=select * from user1 where 用戶名=+uname+ and 密碼=+Mima+;ResultSet rs=sql.executeQuery(queryMima); if(rs.next()JOptionPane.showMessageDialog(null,登錄成功!,JOptionPane.YES_NO_OPTION); MainFrame sf=new MainFrame();sf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);sf.show();elseJ

21、OptionPane.showMessageDialog(null,該用戶不存在,提示!,JOptionPane.YES_NO_OPTION); textField.setText(); textField_1.setText(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); class Close implements ActionListenerOverridepublic void actionPerformed(ActionE

22、vent e) / TODO Auto-generated method stubSystem.exit(0); class winClose extends WindowAdapter public void windowClosing(WindowEvent e) (e.getWindow().dispose(); System.exit(0); protected void do_this_windowOpened(WindowEvent e) final int height = getHeight();/ 記錄窗體高度 new Thread() / 創(chuàng)建新線程 public void

23、 run() Rectangle rec = getBounds(); for (int i = 0; i frameWidth; i += 10) / 循環(huán)拉伸窗體 setBounds(rec.x - i / 2, rec.y, i, height);/ 不斷 try Thread.sleep(10);/ 線程休眠10毫秒 catch (InterruptedException e1) e1.printStackTrace(); .start();/ 啟動(dòng)線程 public static void DISPOSE_ON_CLOSE() / TODO Auto-generated method

24、 stub3.5.2職工信息管理部分設(shè)計(jì)職工信息管理部分有員工信息增添、查詢、職工出差信息查詢、職工請(qǐng)假信息查詢、職工加班信息查詢四個(gè)主模塊。如圖3-5所示。圖3-5 職工信息查詢選項(xiàng)員工資料管理部分有查看所有員工信息,添加員工信息,修改員工信息,刪除員工信息五個(gè)模塊。主要通過(guò)類來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,如添加員工信息。如圖3-6所示。圖3-6 添加員工信息具體代碼如下:public static int InsertYuangongInfo(Yuangong yuangong) Connection conn = getConn(); int i = 0;String sql = Insert i

25、nto Yuangong (ID,Name,Sex,Age,Zhichen) values(?,?,?,?,?); PreparedStatement pstmt; try pstmt = (PreparedStatement) conn.prepareStatement(sql); pstmt.setInt(1, yuangong.getId(); pstmt.setString(2, yuangong.getName(); pstmt.setString(3, yuangong.getSex(); pstmt.setInt(4, yuangong.getAge(); pstmt.setSt

26、ring(5, yuangong.getZhichen(); i = pstmt.executeUpdate(); pstmt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); return i;查詢員工信息。如圖3-7所示。圖3-7 查詢員工信息具體代碼如下:public static Yuangong getYuangongInfo(int id) Connection conn = getConn(); String sql = Select * from Yuangong where id = + id

27、 + ; PreparedStatement pstmt; try pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); Yuangong yuangong = new Yuangong(); while (rs.next() yuangong.setId(rs.getInt(ID); yuangong.setName(rs.getString(Name); yuangong.setSex(rs.getString(Sex); yuangong.setAge(rs.

28、getInt(Age); yuangong.setZhichen(rs.getString(Zhichen); return yuangong; catch (SQLException e) e.printStackTrace(); return null;刪除員工信息。如圖3-8所示。圖3-8 刪除員工信息具體代碼如下:public static int DeleteYuangongInfo(int id) Connection conn = getConn(); int i = 0; String sql = Delete from Yuangong where ID= + id + ;

29、PreparedStatement pstmt; try pstmt = (PreparedStatement) conn.prepareStatement(sql); i = pstmt.executeUpdate(); System.out.println(resutl: + i); pstmt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); return i;修改員工信息。如圖3-9所示。圖3-9修改員工信息具體代碼如下:public static int UpdateYuangongInfo(Yuan

30、gong yuangong) Connection conn = getConn(); int i = 0;String sql = Update Yuangong set Name = + yuangong.getName() + ,Sex = + yuangong.getSex() + ,Age = + yuangong.getAge() + ,Zhichen = + yuangong.getZhichen() + where ID= + yuangong.getId() + ; PreparedStatement pstmt; try pstmt = (PreparedStatement

31、) conn.prepareStatement(sql); i = pstmt.executeUpdate(); pstmt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); return i;查詢所有員工信息。如圖3-10所示。圖3-10 查詢所有員工信息具體代碼如下:public static Yuangong getAllYuangongInfo() Connection conn = getConn(); String sql = Select * from Yuangong; PreparedStat

32、ement pstmt; try pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); rs.last(); /移到最后一行 int rows = rs.getRow(); /得到當(dāng)前行號(hào),也就是記錄數(shù) rs.beforeFirst(); /如果還要用結(jié)果集,就把指針再移到初始化的位置 Yuangong yuangong = new Yuangongrows; int i = 0; while (rs.next() yuangongi = new Yuangong(

33、); yuangongi.setId(rs.getInt(ID); yuangongi.setName(rs.getString(Name); yuangongi.setSex(rs.getString(Sex); yuangongi.setAge(rs.getInt(Age); yuangongi.setZhichen(rs.getString(Zhichen); i+; return yuangong; catch (SQLException e) e.printStackTrace(); return null;3.5.3出勤信息查詢查詢所有員工的出勤信息。如圖3-11所示。圖3-11

34、出勤信息查詢具體代碼如下:public static Chuqin getAllChuqinInfo() throws ParseException Connection conn = getConn();String sql = SELECT a.Name,b.AM0,b.AM1,b.PM0,b.PM1,b.Judge,a.ID FROM Yuangong a,Chuqin b WHERE a.ID = b.ID; PreparedStatement pstmt; try SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm

35、:ss); pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); rs.last(); /移到最后一行 int rows = rs.getRow(); /得到當(dāng)前行號(hào),也就是記錄數(shù) rs.beforeFirst(); /如果還要用結(jié)果集,就把指針再移到初始化的位置 Chuqin chuqin = new Chuqinrows; int i = 0; while (rs.next() chuqini = new Chuqin(); chuqini.setId(rs.g

36、etInt(7);chuqini.setAMdate0(sdf.parse(rs.getDate(2) + + rs.getTime(2);chuqini.setAMdate1(sdf.parse(rs.getDate(3) + + rs.getTime(3);chuqini.setPMdate0(sdf.parse(rs.getDate(4) + + rs.getTime(4);chuqini.setPMdate1(sdf.parse(rs.getDate(5) + + rs.getTime(5); chuqini.setJudge(rs.getString(6); i+; return c

37、huqin; catch (SQLException e) e.printStackTrace(); return null;3.5.4 出差信息查詢查詢所有員工的出差信息。如圖3-12所示。圖3-12 出差信息查詢具體代碼如下:public static Chuchai getAllChuchaiInfo() throws ParseException Connection conn = getConn();String sql = SELECT a.Name,b.BeginDay,b.EndDay,b.Days,a.ID FROM Yuangong a,Chuchai b WHERE a.

38、ID = b.ID; PreparedStatement pstmt; try pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); rs.last(); /移到最后一行 int rows = rs.getRow(); /得到當(dāng)前行號(hào),也就是記錄數(shù) rs.beforeFirst(); /如果還要用結(jié)果集,就把指針再移到初始化的位置 Chuchai chuchai = new Chuchairows; int i = 0; while (rs.next() chuch

39、aii = new Chuchai(); chuchaii.setId(rs.getInt(5); chuchaii.setBeginDay(rs.getDate(2); chuchaii.setEndDay(rs.getDate(3); chuchaii.setDays(rs.getInt(4); i+; return chuchai; catch (SQLException e) e.printStackTrace(); return null;3.5.5 請(qǐng)假信息查詢查詢所有員工的請(qǐng)假信息。如圖3-13所示。圖3-13 請(qǐng)假信息查詢具體代碼如下:public static Qingjia

40、 getAllQingjiaInfo() throws ParseException Connection conn = getConn();String sql = SELECT a.Name,b.BeginDay,b.EndDay,b.Days,a.ID FROM Yuangong a,Qingjia b WHERE a.ID = b.ID; PreparedStatement pstmt; try pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); rs.l

41、ast(); /移到最后一行 int rows = rs.getRow(); /得到當(dāng)前行號(hào),也就是記錄數(shù) rs.beforeFirst(); Qingjia qingjia = new Qingjiarows; int i = 0; while (rs.next() qingjiai = new Qingjia(); qingjiai.setId(rs.getInt(5); qingjiai.setBeginDay(rs.getDate(2); qingjiai.setEndDay(rs.getDate(3); qingjiai.setDays(rs.getInt(4); i+; retur

42、n qingjia; catch (SQLException e) e.printStackTrace(); return null;3.5.6 加班信息查詢查詢所有員工的加班信息。如圖3-14所示。圖3-14 加班信息查詢具體代碼如下:public static Jiaban getAllJiabanInfo() throws ParseException Connection conn = getConn();String sql = SELECT a.Name,b.BeginTime,b.EndTime,b.SumTime,a.ID FROM Yuangong a,Jiaban b WH

43、ERE a.ID = b.ID; PreparedStatement pstmt; try SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); rs.last(); /移到最后一行 int rows = rs.getRow(); /得到當(dāng)前行號(hào),也就是記錄數(shù) rs.beforeFirst(); Jiaban jiaban = new

44、Jiabanrows; int i = 0; while (rs.next() jiabani = new Jiaban(); jiabani.setId(rs.getInt(5);jiabani.setBeginTime(sdf.parse(rs.getDate(2) + + rs.getTime(2);jiabani.setEndTime(sdf.parse(rs.getDate(3) + + rs.getTime(3); jiabani.setSumTime(rs.getInt(4); i+; return jiaban; catch (SQLException e) e.printSt

45、ackTrace(); return null;3.5.7系統(tǒng)主界面集成設(shè)計(jì)在分別完成各小模塊設(shè)計(jì)后,需要把所有的功能模塊整合到主界面上,以便于用戶操作使用。在主界面設(shè)計(jì)中,主要涉及到菜單欄和菜單項(xiàng)以及相應(yīng)的事件反應(yīng)機(jī)制的設(shè)計(jì)。系統(tǒng)主界面完善后如圖3-15所示。圖3-15 系統(tǒng)主界面具體代碼如下:public MainFrame() setTitle(職工考勤管理系統(tǒng));setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 491, 332);contentPane =new JPanel();contentPane.setBackground(new Color(102,204,255);setContentPane(contentPane);JMenuBar menuBar = new JMenuBar();setJMenuBar(menuBar);JMenu menu = new JMenu(員工);menuBar.add(menu);JMenuItem menuItem_2 = new JMenuItem(添加員工信息);menuItem_2.addActionList

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論