




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、員工薪資管理系統(tǒng)課程設(shè)計(jì) 學(xué)院:班級(jí):學(xué)號(hào):姓名:余黎晨 李雪敏 敬翰林 顏學(xué)宏指導(dǎo)教師:李竹林 目錄一:緒論1.1設(shè)計(jì)目的 1.2設(shè)計(jì)內(nèi)容 1.3開發(fā)背景 1.4開發(fā)環(huán)境 1.5組內(nèi)成員及分工 二:需求分析 2.1題目分析 2.2功能分析 2.3數(shù)據(jù)流圖 2.4數(shù)據(jù)字典 2.5系統(tǒng)功能 三:系統(tǒng)分析與設(shè)計(jì) 3.1概念結(jié)構(gòu)設(shè)計(jì) 3.2邏輯結(jié)構(gòu)設(shè)計(jì) 3.3 物理結(jié)構(gòu)設(shè)計(jì) 四:數(shù)據(jù)庫(kù)實(shí)施及運(yùn)行 4.1建基本表 4.3功能實(shí)現(xiàn) 4.4完整代碼五:設(shè)計(jì)心得及體會(huì) 一:緒論1.1設(shè)計(jì)目的 員工薪資系統(tǒng)的主要目的是通過(guò)操作計(jì)算機(jī)代替手工勞動(dòng),能夠在該系統(tǒng)內(nèi)完成員工的信息錄入,查詢,刪除等操作,方便公司的高
2、效化,規(guī)范化管理,有利于員工更好更方便了解自己的薪資信息。 系統(tǒng)開發(fā)的總體任務(wù)就是實(shí)現(xiàn)員工薪資管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。1.2設(shè)計(jì)內(nèi)容 題目:?jiǎn)T工薪資管理 1) 背景資料a) 某單位現(xiàn)有1000名員工,其中有管理人員、財(cái)務(wù)人員、技術(shù)人員和銷售人員。b) 該單位下設(shè)4個(gè)科室,即經(jīng)理室、財(cái)務(wù)科、技術(shù)科和銷售科。c) 工資由基本工資、福利補(bǔ)貼和獎(jiǎng)勵(lì)工資構(gòu)成,失業(yè)保險(xiǎn)和住房公積金在工資中扣除。d) 每個(gè)員工的基本資料有姓名、性別、年齡、單位和職業(yè)(如經(jīng)理、工程師、銷售員等)。e) 每月個(gè)人的最高工資不超過(guò)3000元。工資按月發(fā)放,實(shí)際發(fā)放的工資金額為工資減去扣除。2) 設(shè)計(jì)要求:a) 進(jìn)行需求分析
3、,編寫數(shù)據(jù)字典。b) 設(shè)計(jì)E-R圖。c) 實(shí)現(xiàn)按照科室錄入個(gè)人的基本資料、工資和扣除金額的數(shù)據(jù)。d) 計(jì)算個(gè)人的實(shí)際發(fā)放工資。e) 按科室、職業(yè)分類統(tǒng)計(jì)人數(shù)和工資金額。f) 實(shí)現(xiàn)分類查詢。g) 能夠刪除辭職人員的數(shù)據(jù)。h) 開發(fā)工具不限。1.3開發(fā)背景當(dāng)今社會(huì),隨著企業(yè)人數(shù)的不斷增加,企業(yè)員工薪資的管理工作也越來(lái)越復(fù)雜,資金是企業(yè)生存的核心部分,而資金流動(dòng)也是關(guān)鍵環(huán)節(jié),隨著計(jì)算機(jī)的普及,計(jì)算機(jī)管理系統(tǒng)已經(jīng)原來(lái)越來(lái)越廣泛的應(yīng)用于各個(gè)中小型企業(yè)中,用計(jì)算機(jī)取代手工對(duì)企業(yè)管理的操作也是勢(shì)在必行的,并且人為操作容易造成信息錯(cuò)誤,紙質(zhì)材料不易保存,可能會(huì)導(dǎo)致企業(yè)運(yùn)轉(zhuǎn)出現(xiàn)滯緩現(xiàn)象,影響企業(yè)發(fā)展。為了更好的
4、、更方便地管理企業(yè)中各個(gè)成員的工資發(fā)放情況,我們必須要有一個(gè)完善的、合理的、便捷的員工薪資管理系統(tǒng)來(lái)管理公司員工工資的發(fā)放情況。該員工薪資管理系統(tǒng)主要用于中小型企業(yè)員工的工資發(fā)放管理,此系統(tǒng)的建立和使用有利于員工更好的了解自己的薪資信息,提高公司員工薪資發(fā)放工作的效率,大大減少紙質(zhì)管理對(duì)工作帶來(lái)的失誤。1.4開發(fā)環(huán)境 開發(fā)平臺(tái):SQL Server2005 開發(fā)工具:Eclipse JDBC 開發(fā)語(yǔ)言:SQL語(yǔ)言 JAVA語(yǔ)言1.5組內(nèi)成員及分工李雪敏:系統(tǒng)框架 撰寫報(bào)告顏學(xué)宏:代碼編寫 數(shù)據(jù)庫(kù)的連接與運(yùn)行 余黎晨:概念結(jié)構(gòu)設(shè)計(jì) 代碼調(diào)試 敬翰林:邏輯結(jié)構(gòu)設(shè)計(jì) 需求分析 二:需求分析2.1題目
5、分析 該題目要求設(shè)計(jì)一個(gè)員工薪資系統(tǒng),實(shí)現(xiàn)員工信息的有序化,規(guī)范化,并能進(jìn)行員工信息錄入,查詢,修改,刪除等操作,能實(shí)現(xiàn)分類查詢,2.2功能分析 該員工薪資系統(tǒng)能夠?qū)崿F(xiàn)的功能如下:?jiǎn)T工信息的管理,包括姓名,性別,年齡,職業(yè),員工號(hào),部門編號(hào)基本信息的錄入,查詢,刪除,修改等操作部門信息的管理,包括部門編號(hào)和部門名稱,查詢每個(gè)部門的業(yè)績(jī)和員工薪資情況薪資信息的管理,包括員工號(hào),部門編號(hào),基本工資,福利補(bǔ)貼,獎(jiǎng)勵(lì)工資,失業(yè)保險(xiǎn),住房公積金,實(shí)發(fā)薪資等信息,統(tǒng)計(jì)出員工的基本工資,福利補(bǔ)貼,獎(jiǎng)勵(lì)工資,扣除失業(yè)保險(xiǎn),住房公積金后所得的工2.3數(shù)據(jù)流圖注冊(cè)員工員工基本信息查詢員工員工工資記錄員工薪資信息形
6、成查詢部門經(jīng)理薪資信息管理部門工資記錄統(tǒng)計(jì)分析財(cái)務(wù)統(tǒng)計(jì)人員2.4數(shù)據(jù)字典數(shù)據(jù)字典在數(shù)據(jù)庫(kù)設(shè)計(jì)中占有很重要的地位,數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析后所獲得的主要成果。根據(jù)數(shù)據(jù)流圖對(duì)員工薪資管理數(shù)據(jù)庫(kù)數(shù)據(jù)字典的設(shè)計(jì)如下所示:2.41數(shù)據(jù)結(jié)構(gòu)名:?jiǎn)T工含義說(shuō)明:?jiǎn)T工信息組成:姓名,性別,年齡,職業(yè),員工號(hào)數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長(zhǎng)度可否為空含義說(shuō)明員工號(hào)char10no員工編號(hào)員工姓名char10 no姓名員工年齡char 10 no年齡部門名稱char 10 no所屬部門員工職業(yè)char 10 no擔(dān)任職務(wù)2.42數(shù)據(jù)結(jié)構(gòu)名:部門含義說(shuō)明:部門信息組成:部門編號(hào),部門名稱數(shù)據(jù)項(xiàng)
7、名數(shù)據(jù)類型長(zhǎng)度可否為空含義說(shuō)明部門編號(hào)char4no科室類別部門名稱char10no科室名稱2.43數(shù)據(jù)結(jié)構(gòu)名:工資含義說(shuō)明:?jiǎn)T工薪資信息組成:?jiǎn)T工號(hào),部門編號(hào),基本工資,福利補(bǔ)貼,獎(jiǎng)勵(lì)工資,扣罰工資,失業(yè)保險(xiǎn),住房公積金,實(shí)發(fā)薪資數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長(zhǎng)度可否為空含義說(shuō)明員工號(hào)char8no員工編號(hào)員工工資char4no所的工資獎(jiǎng)勵(lì)工資money8no基本工資員工薪資money8yes福利和補(bǔ)貼工資 2.5系統(tǒng)功能該員工薪資系統(tǒng)的功能如下: 三:系統(tǒng)分析與設(shè)計(jì)3.1概念結(jié)構(gòu)設(shè)計(jì) ER圖設(shè)計(jì)員工實(shí)體關(guān)系圖性別姓名職業(yè)員工員工號(hào)年齡部門編號(hào)部門實(shí)體關(guān)系圖 部門編號(hào)部門部門名稱工資實(shí)體關(guān)系圖員工號(hào)實(shí)發(fā)薪
8、資住房公積金福利補(bǔ)貼基本工資部門編號(hào)工資獎(jiǎng)勵(lì)工資失業(yè)保險(xiǎn)總的ER圖 3.2概念結(jié)構(gòu)設(shè)計(jì) E-R圖表示的概念模型是用戶數(shù)據(jù)要求的形式化,它不為任何一個(gè)DBMS所支持,而邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念模型結(jié)構(gòu)轉(zhuǎn)換成某個(gè)具體的DBMS所支持的數(shù)據(jù)模型,員工薪資管理E-R圖轉(zhuǎn)換為關(guān)系模式為:?jiǎn)T工(姓名,性別,年齡,職業(yè),員工號(hào),部門編號(hào))部門(部門編號(hào),部門名稱)薪資(員工號(hào),員工工資,福利補(bǔ)貼,獎(jiǎng)勵(lì)工資,失業(yè)保險(xiǎn),住房公積金,實(shí)發(fā)薪資) 四:數(shù)據(jù)庫(kù)實(shí)施與運(yùn)行4.1建基本表 員工信息表 部門信息表 工資信息表 4.3功能實(shí)現(xiàn) 4.31系統(tǒng)界面展示: 4.32員工信息查詢功能 按工號(hào)查詢: 按姓名查詢:
9、4.33員工工資查詢功能: 4.34修改員工工資功能: 4.35添加員工功能: 4.36修改員工信息功能: 4.37刪除員工信息功能: 4.4完整代碼展示 4.41源程序代碼/類DBConnect用于數(shù)據(jù)庫(kù)的連接/導(dǎo)入sql包import java.sql.*;/創(chuàng)建數(shù)據(jù)庫(kù)連接類DBConnectpublic class DBConnect/靜態(tài)方法提高數(shù)據(jù)庫(kù)的連接效率public static Connection getConn() throws Exception/加載JDBC驅(qū)動(dòng)Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/以系統(tǒng)默認(rèn)用戶身份
10、,連接數(shù)據(jù)庫(kù)StudentManagerreturn DriverManager.getConnection(jdbc:odbc:Test,dmj,753);4.42主框架代碼: /系統(tǒng)主框架類/導(dǎo)入系統(tǒng)的包import java.awt.*;import java.awt.event.*;import javax.swing.*;/創(chuàng)建主框架類MainFramepublic class MainFrame extends JFrame implements ActionListener/創(chuàng)建內(nèi)容面板JPanel contentPane;/創(chuàng)建菜單欄組件的對(duì)象JMenuBar jMenuBar
11、1=new JMenuBar();/菜單條JMenu jMenu0=new JMenu(退出系統(tǒng));/菜單JMenuItem jMenuItem0=new JMenuItem(退出);/子菜單JMenu jMenu1=new JMenu(員工管理);JMenuItem jMenuItem1=new JMenuItem(添加員工);JMenuItem jMenuItem2=new JMenuItem(修改員工);JMenuItem jMenuItem3=new JMenuItem(刪除員工);JMenu jMenu2=new JMenu(工資管理);JMenuItem jMenuItem4=ne
12、w JMenuItem(添加工資);JMenuItem jMenuItem5=new JMenuItem(修改工資);JMenuItem jMenuItem8=new JMenuItem(工資查詢);JMenu jMenu3=new JMenu(員工查詢);JMenuItem jMenuItem6=new JMenuItem(按工號(hào)查詢);JMenuItem jMenuItem7=new JMenuItem(按姓名查詢);JMenuItem jMenuItem9=new JMenuItem(互動(dòng));/創(chuàng)建標(biāo)簽,用于顯示信息JLabel jLabel1=new JLabel(歡迎使用員工薪資管理
13、系統(tǒng));/創(chuàng)建構(gòu)造方法public MainFrame()try/關(guān)閉框架窗口時(shí)的默認(rèn)事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);/調(diào)用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/界面初始化方法private void jbInit() throws Exception/創(chuàng)建內(nèi)容面板contentPane =(JPanel) getContentPane();/設(shè)置內(nèi)容面板的布局為空contentPane.setLayout(null);/主框架的大小set
14、Size(new Dimension(400,360);/主框架的標(biāo)題setTitle( 員工薪資管理系統(tǒng));/添加事件監(jiān)聽器jMenuItem0.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);jMenuItem6.addActionListene
15、r(this);jMenuItem7.addActionListener(this);jMenuItem8.addActionListener(this);jMenuItem9.addActionListener(this);/添加菜單條到主框架setJMenuBar(jMenuBar1);/添加菜單到菜單條jMenuBar1.add(jMenu0);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);/添加菜單項(xiàng)到菜單jMenu0.add(jMenuItem0);jMenu1.add(jMenuItem1);jM
16、enu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu2.add(jMenuItem4);jMenu2.add(jMenuItem5);jMenu2.add(jMenuItem8);jMenu3.add(jMenuItem6);jMenu3.add(jMenuItem7);/添加標(biāo)簽到主框架內(nèi)容面板contentPane.add(jLabel1);/設(shè)置標(biāo)簽組件的大小和字體jLabel1.setFont(new java.awt.Font(黑體,Font.BOLD,20);jLabel1.setBounds(new Rectangle(65,70,2
17、75,55);/菜單項(xiàng)事件對(duì)應(yīng)的處理方法public void actionPerformed(ActionEvent actionEvent)/點(diǎn)擊“系統(tǒng)”菜單下的“退出”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem0)System.exit(0);/點(diǎn)擊“員工管理”菜單下的“添加員工”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem1)/創(chuàng)建“添加員工”面板對(duì)象AddEmployee AddEmp=new AddEmployee();/移除主框架上原有的內(nèi)容this.remove(this.getContentPane();/
18、加載“添加職工”面板的對(duì)象到主框架this.setContentPane(AddEmp);/令界面可見(jiàn)this.setVisible(true);/點(diǎn)擊“員工管理”菜單下的“修改員工”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem2)/創(chuàng)建“修改員工”面板對(duì)象ModifyEmployee ModifyEmp=new ModifyEmployee();this.remove(this.getContentPane();/加載“修改員工”面板的對(duì)象到主框架this.setContentPane(ModifyEmp);this.setVisible(true);/點(diǎn)擊
19、“員工管理”菜單下的“刪除員工”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem3)/創(chuàng)建“刪除員工”面板對(duì)象DeleteEmployee DeleteEmp=new DeleteEmployee();this.remove(this.getContentPane();/加載“刪除員工”面板的對(duì)象到主框架this.setContentPane(DeleteEmp);this.setVisible(true);/點(diǎn)擊“工資管理”菜單下的“添加工資”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem4)/創(chuàng)建工資添加的面板對(duì)象AddSala
20、ry AddSal=new AddSalary();this.remove(this.getContentPane();/加載工資添加面板的對(duì)象到主框架this.setContentPane(AddSal);this.setVisible(true);/點(diǎn)擊“工資管理”菜單下的“修改工資”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem5)/創(chuàng)建工資修改的面板對(duì)象ModifySalary ModifySal=new ModifySalary();this.remove(this.getContentPane();/加載工資修改面板的對(duì)象到主框架this.setCo
21、ntentPane(ModifySal);this.setVisible(true);/點(diǎn)擊“工資管理”菜單下的“工資查詢”菜單項(xiàng)if(actionEvent.getSource()=jMenuItem8)/創(chuàng)建工資修改的面板對(duì)象SalaryInquire SalaryInq=new SalaryInquire();this.remove(this.getContentPane();/加載工資修改面板的對(duì)象到主框架this.setContentPane(SalaryInq);this.setVisible(true);/點(diǎn)擊“員工查詢”菜單下的“按工號(hào)查詢”菜單項(xiàng)if(actionEvent.
22、getSource()=jMenuItem6)/創(chuàng)建“按工號(hào)查詢”面板對(duì)象InquireOnGH OnGH=new InquireOnGH();/移除主框架上原有的內(nèi)容this.remove(this.getContentPane();this.setContentPane(OnGH);this.setVisible(true);4.43主函數(shù)Main代碼:/系統(tǒng)的主程序類Main/導(dǎo)入包import java.awt.*;import javax.swing.*;/創(chuàng)建主系統(tǒng)類class Mainpublic static void main (String args)/創(chuàng)建主界面,調(diào)用Ma
23、inFrame()構(gòu)造函數(shù)和方法MainFrame frame=new MainFrame();/獲取屏幕尺寸Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();/獲取主界面的窗體尺寸Dimension frameSize =frame.getSize();/令主界面窗體居中if(frameSize.heightscreenSize.height)frameSize.height=screenSize.height;if(frameSize.widthscreenSize.width)frameSize.width=
24、screenSize.width;frame.setLocation(screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);/令主界面顯示frame.setVisible(true);4.44員工信息查詢代碼 按工號(hào)查詢代碼/導(dǎo)入系統(tǒng)的類包import java.awt.*;im/按員工號(hào)查詢面板類InquireOnGHport java.sql.*;import javax.swing.*;import java.awt.event.*;/創(chuàng)建“按員工號(hào)查詢”類public class Inqu
25、ireOnGH extends JPanel implements ActionListener/聲明連接數(shù)據(jù)庫(kù)對(duì)象Connection con;/聲明SQL語(yǔ)句對(duì)象Statement st;/創(chuàng)建組件對(duì)象:標(biāo)簽、文本行、單選JLabel jLabel1=new JLabel(請(qǐng)輸入員工號(hào):);JTextField jTextField1=new JTextField();JButton jButton1=new JButton(查找);JTextArea jTextArea1=new JTextArea();/構(gòu)造方法public InquireOnGH()try/調(diào)用初始化方法jbInit
26、();catch(Exception exception)exception.printStackTrace();/面板初始化方法private void jbInit() throws Exception/連接數(shù)據(jù)庫(kù)con=DBConnect.getConn();st=con.createStatement();/框架的布局this.setLayout(null);/設(shè)置各組件的大小jLabel1.setFont(new java.awt.Font(黑體,Font.BOLD,16);jLabel1.setBounds(new Rectangle(46,4,222,32);jTextField
27、1.setBounds(new Rectangle(47,37,247,31);jButton1.setBounds(new Rectangle(47,86,247,30);jTextArea1.setBounds(new Rectangle(24,130,305,109);/添加按鈕動(dòng)作事件jButton1.addActionListener(this);/添加組件到面板this.add(jLabel1);this.add(jTextField1);this.add(jTextArea1);this.add(jButton1);/點(diǎn)擊按鈕事件public void actionPerform
28、ed(ActionEvent e)/獲取輸入的員工號(hào)String EmployeeID=jTextField1.getText();/清空文本區(qū)原有的內(nèi)容jTextArea1.setText();try/利用st對(duì)象執(zhí)行SQL語(yǔ)句,返回結(jié)果集對(duì)象ResultSet rs=st.executeQuery(select * from Employee where 員工號(hào)=+EmployeeID+);/處理結(jié)果集if(rs.next()jTextArea1.setText(員工號(hào):+rs.getString(員工號(hào))+n+員工姓名:+rs.getString(員工姓名)+n+員工性別:+rs.get
29、String(員工性別)+n+員工年齡:+rs.getString(員工年齡)+n+部門名稱:+rs.getString(部門名稱)+n+員工職業(yè):+rs.getString(員工職業(yè))+n);elseJOptionPane.showMessageDialog(this,沒(méi)有這個(gè)員工號(hào)的員工!);catch(Exception ex)/利用消息對(duì)話框提示查詢失敗JOptionPane.showMessageDialog(this,員工查詢失敗!); 按姓名查詢 /按員工姓名查詢面板類InquireOnName/導(dǎo)入系統(tǒng)的類包import java.awt.*;import java.sql.*
30、;import javax.swing.*;import java.awt.event.*;/創(chuàng)建“按員工姓名查詢”類public class InquireOnName extends JPanel implements ActionListener/聲明連接數(shù)據(jù)庫(kù)對(duì)象Connection con;/聲明SQL語(yǔ)句對(duì)象Statement st;/創(chuàng)建組件對(duì)象:標(biāo)簽、文本行、單選JLabel jLabel1=new JLabel(請(qǐng)輸入員工姓名:);JTextField jTextField1=new JTextField();JButton jButton1=new JButton(查找);
31、JTextArea jTextArea1=new JTextArea();/構(gòu)造方法public InquireOnName()try/調(diào)用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/面板初始化方法private void jbInit() throws Exception/連接數(shù)據(jù)庫(kù)con=DBConnect.getConn();st=con.createStatement();/框架的布局this.setLayout(null);/設(shè)置各組件的大小jLabel1.setFont(new java.
32、awt.Font(黑體,Font.BOLD,16);jLabel1.setBounds(new Rectangle(46,4,222,32);jTextField1.setBounds(new Rectangle(47,37,247,31);jButton1.setBounds(new Rectangle(47,86,247,30);jTextArea1.setBounds(new Rectangle(24,130,305,109);/添加按鈕動(dòng)作事件jButton1.addActionListener(this);/添加組件到面板this.add(jLabel1);this.add(jTex
33、tField1);this.add(jTextArea1);this.add(jButton1);/點(diǎn)擊按鈕事件public void actionPerformed(ActionEvent e)/獲取輸入的員工的姓名String EmployeeName=jTextField1.getText();/清空文本區(qū)原有的內(nèi)容jTextArea1.setText();try/利用st對(duì)象執(zhí)行SQL語(yǔ)句,返回結(jié)果集對(duì)象ResultSet rs=st.executeQuery(select * from Employee where 員工姓名=+EmployeeName+);/處理結(jié)果集if(rs.n
34、ext()jTextArea1.setText(員工號(hào):+rs.getString(員工號(hào))+n+員工姓名:+rs.getString(員工姓名)+n+員工性別:+rs.getString(員工性別)+n+員工年齡:+rs.getString(員工年齡)+n+部門名稱:+rs.getString(部門名稱)+n+員工職業(yè):+rs.getString(員工職業(yè))+n);elseJOptionPane.showMessageDialog(this,沒(méi)有這個(gè)員工號(hào)的員工!);catch(Exception ex)/利用消息對(duì)話框提示查詢失敗JOptionPane.showMessageDialog(
35、this,員工查詢失敗!); 4.45員工工資查詢代碼/工資查詢面板類SalaryInquire/導(dǎo)入系統(tǒng)的類包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/創(chuàng)建“工資查詢”類public class SalaryInquire extends JPanel implements ActionListener/聲明連接數(shù)據(jù)庫(kù)對(duì)象Connection con;/聲明SQL語(yǔ)句對(duì)象Statement st;/創(chuàng)建組件對(duì)象:標(biāo)簽、文本行、單選JLabel jLabel1=new JL
36、abel(請(qǐng)輸入要查詢的員工號(hào):);JTextField jTextField1=new JTextField();JButton jButton1=new JButton(工資查詢);JTextArea jTextArea1=new JTextArea();/構(gòu)造方法public SalaryInquire()try/調(diào)用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/面板初始化方法private void jbInit() throws Exception/連接數(shù)據(jù)庫(kù)con=DBConnect.get
37、Conn();st=con.createStatement();/框架的布局this.setLayout(null);/設(shè)置各組件的大小jLabel1.setFont(new java.awt.Font(黑體,Font.BOLD,16);jLabel1.setBounds(new Rectangle(46,4,222,32);jTextField1.setBounds(new Rectangle(47,37,247,31);jButton1.setBounds(new Rectangle(47,86,247,30);jTextArea1.setBounds(new Rectangle(24,1
38、30,305,109);/添加按鈕動(dòng)作事件jButton1.addActionListener(this);/添加組件到面板this.add(jLabel1);this.add(jTextField1);this.add(jTextArea1);this.add(jButton1);/點(diǎn)擊按鈕事件public void actionPerformed(ActionEvent e)/獲取輸入的員工號(hào)String EmployeeID=jTextField1.getText();/清空文本區(qū)原有的內(nèi)容jTextArea1.setText();try/利用st對(duì)象執(zhí)行SQL語(yǔ)句,返回結(jié)果集對(duì)象Res
39、ultSet rs=st.executeQuery(select * from Salary where 員工號(hào)=+EmployeeID+);/處理結(jié)果集if(rs.next()jTextArea1.setText(員工號(hào):+rs.getString(員工號(hào))+n+員工工資:+rs.getString(員工工資)+n);elseJOptionPane.showMessageDialog(this,該員工號(hào)的員工沒(méi)有工資記錄!);catch(Exception ex)/利用消息對(duì)話框提示查詢失敗JOptionPane.showMessageDialog(this,工資查詢失敗!);4.46修改工
40、資代碼/“修改工資”面板類ModifySalary/導(dǎo)入系統(tǒng)的類包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/創(chuàng)建“修改工資”面板類public class ModifySalary extends JPanel implements ActionListener/聲明連接數(shù)據(jù)庫(kù)對(duì)象Connection con;/聲明SQL語(yǔ)句對(duì)象Statement st;/創(chuàng)建組件對(duì)象:標(biāo)簽、文本行、單選JLabel jLabel1=new JLabel(請(qǐng)輸入員工號(hào):);JTextFie
41、ld jTextField1=new JTextField();JButton jButton1=new JButton(查找該員工);JLabel jLabel2=new JLabel(員工號(hào):);JTextField jTextField2=new JTextField();JLabel jLabel3=new JLabel(員工工資:);JTextField jTextField3=new JTextField();JButton jButton2=new JButton(修改工資);/構(gòu)造方法public ModifySalary()try/調(diào)用初始化方法jbInit();catch(
42、Exception exception)exception.printStackTrace();/面板初始化方法private void jbInit() throws Exception/連接數(shù)據(jù)庫(kù)con=DBConnect.getConn();st=con.createStatement();/框架的布局this.setLayout(null);/設(shè)置各組件的大小jLabel1.setFont(new java.awt.Font(楷體,Font.BOLD,14);jLabel1.setBounds(new Rectangle(40,25,140,30);jTextField1.setBou
43、nds(new Rectangle(185,25,120,30);jButton1.setBounds(new Rectangle(110,65,120,30);jLabel2.setFont(new java.awt.Font(楷體,Font.BOLD,14);jLabel2.setBounds(new Rectangle(90,125,80,30);jTextField2.setBounds(new Rectangle(170,125,80,30);jLabel3.setFont(new java.awt.Font(楷體,Font.BOLD,14);jLabel3.setBounds(ne
44、w Rectangle(90,160,80,30);jTextField3.setBounds(new Rectangle(170,160,80,30);jButton2.setBounds(new Rectangle(120,200,100,30);/添加按鈕動(dòng)作事件jButton1.addActionListener(this);jButton2.addActionListener(this);/添加組件到面板this.add(jLabel1);this.add(jTextField1);this.add(jButton1);this.add(jLabel2);this.add(jText
45、Field2);jTextField2.setEditable(false);this.add(jLabel3);this.add(jTextField3);this.add(jButton2);/點(diǎn)擊按鈕事件public void actionPerformed(ActionEvent actionevent)/點(diǎn)擊“查找該員工”按鈕if(actionevent.getSource()=jButton1)/獲取輸入的員工號(hào)String EmployeeID=jTextField1.getText();try/利用st對(duì)象執(zhí)行SQL語(yǔ)句,返回結(jié)果集對(duì)象ResultSet rs=st.execu
46、teQuery(select * from Salary where 員工號(hào)=+EmployeeID+);/處理結(jié)果集if(rs.next()jTextField2.setText(rs.getString(員工號(hào));jTextField3.setText(rs.getString(員工工資);elseJOptionPane.showMessageDialog(this,沒(méi)有這個(gè)員工號(hào)的員工!);catch(Exception ex)/利用消息對(duì)話框提示查詢失敗JOptionPane.showMessageDialog(this,工資修改失敗!);/點(diǎn)擊“修改工資”按鈕if(actioneve
47、nt.getSource()=jButton2)/獲取用戶更改的工資try/利用st對(duì)象執(zhí)行SQL語(yǔ)句,進(jìn)行修改操作st.executeUpdate(update Salary set 員工工資=+jTextField3.getText()+ where 員工號(hào)=+jTextField2.getText()+);/利用消息對(duì)話框提示工資修改成功JOptionPane.showMessageDialog(this,工資修改成功!);catch(Exception ex)/利用消息對(duì)話框提示異常的信息JOptionPane.showMessageDialog(this,工資修改失??!);ex.printStackTrace();4.47員工添加代碼/添加員工面板類AddEmployee/導(dǎo)入系統(tǒng)的類包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.eve
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年份10月份民間天文觀測(cè)設(shè)備眾籌借款協(xié)議
- 員工驅(qū)動(dòng)力的提升與管理策略計(jì)劃
- 探索藝術(shù)與科技結(jié)合的新形式計(jì)劃
- 自我評(píng)估與反饋機(jī)制計(jì)劃
- 如何建立良好的上下級(jí)關(guān)系計(jì)劃
- 持續(xù)學(xué)習(xí)的個(gè)人行動(dòng)計(jì)劃
- 班主任工作職責(zé)與實(shí)施細(xì)則計(jì)劃
- 2025-2030中國(guó)防爆熒光燈行業(yè)發(fā)展現(xiàn)狀及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年北斗導(dǎo)航合作協(xié)議書
- 財(cái)務(wù)科成本控制策略計(jì)劃
- 校長(zhǎng)在高考動(dòng)員大會(huì)上講話:高考不是獨(dú)木橋人生處處有航道
- 觀賞魚國(guó)際貿(mào)易的可持續(xù)發(fā)展策略
- 2025年浙江紡織服裝職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)新版
- 《園林微景觀設(shè)計(jì)與制作》課件-項(xiàng)目四 微景觀展示
- 2025年河南省安陽(yáng)市安陽(yáng)縣九年級(jí)中考一模數(shù)學(xué)試題(原卷版+解析版)
- 2025年貴州省交通廳及公路局事業(yè)單位歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2024年河北省普通高中學(xué)業(yè)水平選擇性考試物理試題含答案
- 大班爬山安全
- 生態(tài)農(nóng)業(yè)面源污染治理-深度研究
- 新版《醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范》(2024)培訓(xùn)試題及答案
- 二零二五年度工業(yè)電機(jī)維修、安裝、調(diào)試全方位服務(wù)合同2篇
評(píng)論
0/150
提交評(píng)論