第一篇:人事工資管理系統附錄文件(源代碼)
bm.java
import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;class bm extends Frame implements ActionListener,ItemListener { private condb conx=null;
private ResultSet rs=null;
private String sql=null;
private Label num=new Label(“職工號”);
private Label jb=new Label(“稅收”);
private Label fj=new Label(“醫療保險”);
private Label in=new Label(“退休保險”);
private TextField numtx=new TextField();
private TextField jbtx=new TextField();
private TextField fjtx=new TextField();
private TextField intx=new TextField();
private Choice numcho=new Choice();
private Button add=new Button(“增加”);
private Button exit=new Button(“退出”);
public bm()
{ setTitle(“扣除工資”);
setSize(400,300);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
this.setResizable(false);
setLayout(null);
num.setBounds(80,50,50,20);
jb.setBounds(80,80,50,20);
fj.setBounds(80,110,50,20);
in.setBounds(80,140,50,20);
numtx.setBounds(160,50,100,20);
jbtx.setBounds(160,80,100,20);
fjtx.setBounds(160,110,100,20);
intx.setBounds(160,140,100,20);
numcho.setBounds(160,170,100,20);
add.setBounds(60,220,50,20);
exit.setBounds(300,220,50,20);
add(add);
add(exit);
add(num);
add(jb);
add(fj);
add(in);
add(numtx);
add(jbtx);
add(fjtx);
add(intx);
add(numcho);//lb
add.addActionListener(this);
exit.addActionListener(this);
numcho.addItemListener(this);
initnumcho();
setVisible(true);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{dispose();}
});
}
public void itemStateChanged(ItemEvent i)
{ numtx.setText(numcho.getSelectedItem());
}
public void initnumcho()
{ conx=new condb();
sql=“select * from 扣除工資 ”;
numcho.removeAll();
try { rs=conx.getrs(conx.con,sql);
while(rs.next())
{numcho.add(rs.getString(“職工號”));}
conx.dbclose(conx.con,rs);
conx=null;
rs=null;
}
catch(Exception eo){}
}
public void actionPerformed(ActionEvent e)
{ conx=new condb();
if(e.getActionCommand().equals(“退出”))
this.dispose();
if(e.getActionCommand().equals(“增加”))
{
sql=“select * from 扣除工資 where 職工號='”+numtx.getText()+“'”;
try{ rs=conx.getrs(conx.con,sql);
if(rs.next())
{
sql=“insert into 扣除工資(職工號,稅收,醫療保險,養老保險)”+
“values('”+numtx.getText().trim()+“',”+
jbtx.getText()+“,”+fjtx.getText()+“,'”+intx.getText()+“')”;
try { System.out.println(sql);
conx.dbclose(conx.con,null);
}
catch(Exception ue){System.out.println(“"+ue);}
JOptionPane jop=new JOptionPane();
jop.showMessageDialog(null,”
扣除工資添加成功!“,”添加成功“,-1);
conx.dbclose(conx.con,rs);
numtx.setText(”“);
jbtx.setText(”“);
fjtx.setText(”“);
conx=null;
rs=null;
}
else { JOptionPane jop=new JOptionPane();
jop.showConfirmDialog(null,”添加失敗!“,”警告!“,-1);
conx.dbclose(conx.con,rs);
conx=null;
rs=null;
}
} catch(SQLException et){System.out.println(”“+et);}
}
} }
/*
else */
bmcx.java
import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import java.awt.Window;class bmcx extends Frame implements ActionListener { private condb conc=null;
private ResultSet rs=null;
private String sql=null;
private Label chao=new Label(”職工號:“);
private Label cname=new Label(”姓名:“);
private Label csex=new Label(”稅收:“);
private Label cage=new Label(”醫療保險:“);
private Label cdep=new Label(”退休保險:
“);
private TextField chaotx=new TextField();
private Label cnametx=new Label(”“);
private Label csextx=new Label(”“);
private Label cagetx=new Label(”“);
private Label cdeptx=new Label(”“);
private Button cx=new Button(”查詢“);
private Button tc=new Button(”退出“);
public bmcx()
{ setTitle(”扣除工資查詢“);
setSize(400,250);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
this.setResizable(false);
setLayout(null);
chao.setBounds(80,50,50,20);
cname.setBounds(80,80,50,20);
csex.setBounds(80,110,50,20);
cage.setBounds(80,140,50,20);
cdep.setBounds(80,170,50,20);
chaotx.setBounds(160,50,150,20);
cnametx.setBounds(160,80,150,20);
csextx.setBounds(160,110,150,20);
cagetx.setBounds(160,140,150,20);
cdeptx.setBounds(140,170,150,20);
cx.setBounds(60,205,50,20);
tc.setBounds(300,205,50,20);
add(chao);
add(cname);
add(cagetx);
add(cage);
add(csex);
add(cdep);
add(chaotx);
add(cnametx);
add(csextx);
add(cdeptx);
add(cx);
add(tc);
setVisible(true);
cx.addActionListener(this);
tc.addActionListener(this);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{dispose();}
});
}
public void actionPerformed(ActionEvent e)
{ if(e.getActionCommand().equals(”退出“))
this.dispose();
if(e.getActionCommand().equals(”查詢“))
{ conc=new condb();
sql=”select 姓名,稅收,醫療保險,退休保險 from 扣除工資,職工 where 扣除工資.職工號=職工.職工號 and 扣除工資.職工號='“+chaotx.getText()+”'“;
try { rs=conc.getrs(conc.con,sql);
if(rs.next())
{
cnametx.setText(rs.getString(”姓名“));
csextx.setText(rs.getString(”稅收“));
cagetx.setText(rs.getString(”醫療保險“));
cdeptx.setText(rs.getString(”退休保險“));
conc.dbclose(conc.con,rs);
conc=null;
rs=null;}
else {JOptionPane jop=new JOptionPane();
jop.showConfirmDialog(null,”該用戶不存在!“,”警告“,-1);
}
}
catch(Exception ee){}
}
} }
condb.java
import java.sql.*;public class condb { public Connection con;//在類頭定義連接對象
public condb()//在此構造方法中實現有關程序的加載,同時捕捉異常。
{ try{ Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);}//加載驅動程序
catch(java.lang.ClassNotFoundException e){System.out.println(”error“);};
try{ con=DriverManager.getConnection(”jdbc:odbc:xin“);}//連接數據源
catch(SQLException e){System.out.println(”connect database error!“);}
}
public ResultSet getrs(Connection con,String sql)//自定義查詢數據庫返回記錄集的方法。
{ ResultSet rs=null;
try{ Statement stmt=con.createStatement();//創建發送sql語句的對象stmt.rs=stmt.executeQuery(sql);//執行查詢語句sql,得記錄集。
}
catch(Exception e){System.out.println(”“+e);}
return rs;
}
//getrs()中行參sql為實現數據庫查詢的查詢語句,con表示數據庫連接對象。
public void moddb(Connection con,String sql)
//自定義具有對數據庫實現增加,刪除,修改功能的方法:
{ try{ Statement stmt=con.createStatement();//創建發送sql語句的對象stmt.stmt.executeUpdate(sql);
//實現增加,刪除,修改數據庫等操作。
}
catch(Exception e){}
}
//方法.executeUpdate()根據sql語句實現對數據庫的增加,刪除,修改功能。
public void dbclose(Connection con,ResultSet rs)
//定義關閉連接對象和記錄集的方法
{ try { con.close();//關閉連接對象
rs.close();}//關閉記錄集
catch(SQLException rse){}
} }
dl.java
import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import java.awt.geom.*;class denglu extends Frame {
public Label name=new Label(”用戶名“);
public Label pass=new Label(”密碼“);
public TextField txtname=new TextField();
public TextField txtpass=new TextField();
public Button btok=new Button(”登陸“);
public Button btexit=new Button(”取消“);
public condb conu=new condb();
private String sql=null;
private ResultSet rs=null;
private Image img;
public denglu()
{ img=getToolkit().getImage(getClass().getResource(”/ww.jpg“));
setTitle(”歡迎使用工資管理系統“);
setLayout(null);
setResizable(false);
setSize(500,350);
Dimension scr=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frm=this.getSize();
setLocation((scr.width-frm.width)/2,(scr.height-frm.height)/2-18);
txtpass.setEchoChar('*');
txtname.setBounds(120,260,120,27);
txtpass.setBounds(120,300,120,27);
btok.setBounds(340,260,100,28);
btexit.setBounds(340,300,100,28);
add(name);
add(txtname);
add(pass);
add(txtpass);
add(btok);
add(btexit);
setVisible(true);
btexit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
System.exit(0);
}
});
btok.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
sql=”select * from 數據庫用戶 where 用戶名='“+txtname.getText()+”' and 密碼='“+txtpass.getText()+”'“;
try {
rs=conu.getrs(conu.con,sql);
if(rs.next())
{ mainff mf=new mainff();
dispose();
mf.show();
}
else { JOptionPane jop=new JOptionPane();
jop.showMessageDialog(null,”用戶名或密碼錯誤“,”信息提示!“,-1);}
}catch(Exception ee){}
}
});
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{ dispose();
System.exit(0);
}
});
} public void paint(Graphics g)
{
g.setClip(new Rectangle2D.Float(0,0,500,350));
g.drawImage(img,0,0,this);
}
}
public class dl { public static void main(String args[])
{ denglu deng=new denglu();
}
jz.java
import java.awt.*;import java.awt.event.*;import java.sql.*;
import javax.swing.*;class gz extends Frame implements ActionListener,ItemListener { private condb conx=null;
private ResultSet rs=null;
private String sql=null;
private Label num=new Label(”職工號“);
private Label jb=new Label(”普通請假“);
private Label fj=new Label(”病假“);
private Label in=new Label(”遲到“);
private TextField numtx=new TextField();
private TextField jbtx=new TextField();
private TextField fjtx=new TextField();
private TextField intx=new TextField();
private Button add=new Button(”增加“);
private Button exit=new Button(”退出“);
public gz()
{ setTitle(”職工休假“);
setSize(400,300);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
this.setResizable(false);
setLayout(null);
num.setBounds(80,50,50,20);
jb.setBounds(80,80,50,20);
fj.setBounds(80,110,50,20);
in.setBounds(80,140,50,20);
numtx.setBounds(160,50,100,20);
jbtx.setBounds(160,80,100,20);
fjtx.setBounds(160,110,100,20);
intx.setBounds(160,140,100,20);
add.setBounds(60,220,50,20);
exit.setBounds(300,220,50,20);
add(add);
add(exit);
add(num);
add(jb);
add(fj);
add(in);
add(numtx);
add(jbtx);
add(fjtx);
add(intx);
//lb
add.addActionListener(this);
exit.addActionListener(this);
setVisible(true);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{dispose();}
});
}
public void itemStateChanged(ItemEvent i)
{
}
public void actionPerformed(ActionEvent e)
{ conx=new condb();
if(e.getActionCommand().equals(”退出“))
this.dispose();
if(e.getActionCommand().equals(”增加“))
{
sql=”select * from 職工 where 職工號='“+numtx.getText()+”'“;
try{ rs=conx.getrs(conx.con,sql);
if(rs.next())
{
sql=”insert into 職工(職工號,普通請假,病假,遲到)“+
”values('“+numtx.getText().trim()+”',“+
jbtx.getText()+”,“+fjtx.getText()+”,'“+intx.getText()+”')“;
try { System.out.println(sql);
conx.dbclose(conx.con,null);
}
catch(Exception ue){System.out.println(”“+ue);}
JOptionPane jop=new JOptionPane();
jop.showMessageDialog(null,”
職工休假添加成功!“,”添加成功“,-1);
conx.dbclose(conx.con,rs);
numtx.setText(”“);
jbtx.setText(”“);
fjtx.setText(”“);
conx=null;
rs=null;
}
else{ JOptionPane jop=new JOptionPane();
jop.showConfirmDialog(null,”添加失敗!“,”警告!“,-1);
conx.dbclose(conx.con,rs);
conx=null;
rs=null;
}
} catch(SQLException et){System.out.println(”“+et);}
}
} }
/*
*/
gzcx.java
import java.awt.*;import java.awt.event.*;import java.sql.*;
import javax.swing.*;import java.awt.Window;class gzcx extends Frame implements ActionListener { private condb conc=null;
private ResultSet rs=null;
private String sql=null;
private Label chao=new Label(”職工號:“);
private Label cjb=new Label(”基本工資:“);
private Label cfj=new Label(”獎金:“);
private Label csf=new Label(”扣除工資:“);
private Label in=new Label(”實發工資“);
private TextField chaotx=new TextField();
private Label cjbtx=new Label(”“);
private Label cfjtx=new Label(”“);
private Label csftx=new Label(”“);
private Label intx=new Label(”“);
private Button cx=new Button(”查詢“);
private Button tc=new Button(”退出“);
public gzcx()
{ setTitle(”職工工資查詢“);
setSize(400,250);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
this.setResizable(false);
setLayout(null);
chao.setBounds(80,50,50,20);
cjb.setBounds(80,80,50,20);
cfj.setBounds(80,110,50,20);
csf.setBounds(80,140,50,20);
in.setBounds(80,170,50,20);
intx.setBounds(160,170,150,20);
chaotx.setBounds(160,50,150,20);
cjbtx.setBounds(160,80,150,20);
cfjtx.setBounds(160,110,150,20);
csftx.setBounds(160,140,150,20);
cx.setBounds(60,205,50,20);
tc.setBounds(300,205,50,20);
add(chao);
add(cjb);
add(in);
add(cfj);
add(csf);
add(intx);
add(cjbtx);
add(cfjtx);
add(chaotx);
add(csftx);
add(cx);
add(tc);
setVisible(true);
cx.addActionListener(this);
tc.addActionListener(this);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{dispose();}
});
}
public void actionPerformed(ActionEvent e)
{ if(e.getActionCommand().equals(”退出“))
this.dispose();
if(e.getActionCommand().equals(”查詢“))
{ conc=new condb();
sql=”select * from 工資 where 職工號='“+chaotx.getText()+”'“;
try {
rs=conc.getrs(conc.con,sql);
if(rs.next())
{
cjbtx.setText(rs.getString(”基本工資“));
cfjtx.setText(rs.getString(”獎金“));
csftx.setText(rs.getString(”扣除工資“));
intx.setText(rs.getString(”實發工資“));
conc.dbclose(conc.con,rs);
conc=null;
rs=null;}
else {JOptionPane jop=new JOptionPane();
jop.showConfirmDialog(null,”該用戶不存在!“,”警告“,-1);
}
}catch(Exception ee){}
}
} } jiesh.java
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class jiesh extends JFrame implements ActionListener {
private condb con=null;
private ResultSet rs=null;
private String sql=null;
private JLabel q1=new JLabel(”本軟件介紹“);
private JTextArea jstx=new JTextArea();
private JButton d2=new JButton(”返回主界面“);
public jiesh()
{ super(”軟件介紹“);
setSize(400,350);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
setResizable(false);
Container cont=this.getContentPane();
cont.setLayout(null);
q1.setBounds(150,20,300,30);
jstx.setBounds(40,50,300,200);
jstx.setText(”
本軟件適用于人事工資管理不復雜的中小企業或其他類型n企事業單位。軟件界面友好、操作簡單。“);
jstx.setEditable(false);
d2.setBounds(240,260,100,30);
cont.add(q1);
cont.add(jstx);
cont.add(d2);
d2.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getActionCommand().equals(”返回主界面“))
dispose();} }
mainff.java
import java.awt.*;import java.awt.event.*;import java.awt.Window;
import javax.swing.*;import javax.swing.tree.*;import java.sql.*;import java.awt.geom.*;
class mainff extends Frame implements ActionListener { private condb con=null;
private ResultSet rs=null;
String sql=null;
String sqlb=null;
private JOptionPane jop=new JOptionPane();
private MenuBar mnubar=new MenuBar();
private Menu gongzi=new Menu(”工資管理“);
private Menu lookfor=new Menu(”信息查詢“);
private Menu initsys=new Menu(”系統初始化“);
private Menu user=new Menu(”用戶管理“);
private Menu help=new Menu(”幫助信息“);
private MenuItem gong1=new MenuItem(”全部查詢“);
private MenuItem search1=new MenuItem(”扣除工資查詢“);
private MenuItem search3=new MenuItem(”職工工資查詢“);
private MenuItem search2=new MenuItem(”職工休假查詢“);
private MenuItem dep=new MenuItem(”添加工資“);
private MenuItem emp=new MenuItem(”選擇支付方式“);
private MenuItem selary=new MenuItem(”添加休假“);
private MenuItem user1=new MenuItem(”用戶管理“);
private MenuItem help1=new MenuItem(”系統介紹“);
private MenuItem help2=new MenuItem(”操作說明“);
private MenuItem help3=new MenuItem(”版本信息“);
private Image img;
public mainff(){ super(”歡迎使用工資管理系統!“);
setSize(800,600);
setBackground(Color.LIGHT_GRAY);
setLayout(null);
//以下三句設置當前框架位置。
Dimension scr=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frm=this.getSize();
setLocation((int)(scr.getWidth()-frm.getWidth())/2,(int)(scr.getHeight()-frm.getHeight())/2-50);//設置水平居中。
gongzi.add(gong1);
lookfor.add(search1);
lookfor.add(search2);
lookfor.add(search3);
initsys.add(dep);
initsys.add(emp);
initsys.add(selary);
user.add(user1);
mnubar.add(gongzi);
mnubar.add(lookfor);
mnubar.add(initsys);
mnubar.add(user);
mnubar.add(help);
help.add(help1);
help.add(help2);
help.add(help3);
img=getToolkit().getImage(getClass().getResource(”/sk.jpg“));
this.setMenuBar(mnubar);//設置菜單條,顯示菜單
gongzi.addActionListener(this);
initsys.addActionListener(this);lookfor.addActionListener(this);user.addActionListener(this);help.addActionListener(this);
setVisible(true);//設置可顯性
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{
tuich tc=new tuich();
}
});//關閉窗口 }
public void paint(Graphics g)
{
g.setClip(new Rectangle2D.Float(0,30,800,570));
g.drawImage(img,0,0,this);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().equals(”添加休假“))
{
gz gong=new gz();//類調用
}
if(ae.getActionCommand().equals(”選擇支付方式“))
{
zg zhi=new zg();//類調用
}
if(ae.getActionCommand().equals(”添加工資“))
{
bm bu=new bm();
}
if(ae.getActionCommand().equals(”職工工資查詢“))
{
gzcx gongcx=new gzcx();
}
if(ae.getActionCommand().equals(”扣除工資查詢“))
{
bmcx bucx=new bmcx();
}
if(ae.getActionCommand().equals(”職工休假查詢“))
{
zgcx zhi=new zgcx();
}
if(ae.getActionCommand().equals(”用戶管理“))
{
user use=new user();
}
if(ae.getActionCommand().equals(”全部查詢“))
{
whole use1=new whole();
}
if(ae.getActionCommand().equals(”系統介紹“))
{
jiesh j=new jiesh();
}
if(ae.getActionCommand().equals(”操作說明“))
{
shuom sh=new shuom();
}
if(ae.getActionCommand().equals(”版本信息“))
{
xinxi xx=new xinxi();//類調用
}
} }
shuom.java
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class shuom extends JFrame implements ActionListener {
private condb con=null;
private ResultSet rs=null;
private String sql=null;
private JLabel q1=new JLabel(”本軟件操作說明“);
private JTextArea jstx=new JTextArea();
private JButton d2=new JButton(”返回主界面“);
public shuom()
{ super(”操作說明“);
setSize(400,350);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
setResizable(false);
Container cont=this.getContentPane();
cont.setLayout(null);
q1.setBounds(120,20,300,30);
jstx.setBounds(40,50,300,200);
jstx.setText(”
具體說明見實驗報告“);
jstx.setEditable(false);
d2.setBounds(240,260,100,30);
cont.add(q1);
cont.add(jstx);
cont.add(d2);
d2.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getActionCommand().equals(”返回主界面“))
dispose();} }
tuich.java
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class tuich extends JFrame implements ActionListener {
private condb con=null;
private ResultSet rs=null;
private String sql=null;
private JLabel q1=new JLabel(”是否確定退出本軟件?“);
private JButton d1=new JButton(”確認“);
private JButton d2=new JButton(”返回“);
public tuich()
{ super(”結束“);
setSize(300,180);
setBackground(Color.LIGHT_GRAY);
this.setLocationRelativeTo(this.getParent());
setResizable(false);
Container cont=this.getContentPane();
cont.setLayout(null);
q1.setBounds(80,20,200,30);
d1.setBounds(50,80,80,30);
d2.setBounds(150,80,80,30);
cont.add(q1);
cont.add(d1);
cont.add(d2);
d1.addActionListener(this);
d2.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent te){
if(te.getActionCommand().equals(”確認“))
{ dispose();System.exit(0);}
if(te.getActionCommand().equals(”返回“))
dispose();
} }
user.java
import java.awt.*;import java.util.*;import java.awt.event.*;import java.awt.Window;import java.sql.*;import javax.swing.*;class user extends Frame implements ActionListener ,ItemListener { private condb con=null;
private ResultSet rs=null;
private String sql=null;
private Button btnadd=new Button(”增加“);
private Button btndel=new Button(”刪除“);
private Button btnmod=new Button(”修改“);
private Button btnexit=new Button(”退出“);
private Label lbname=new Label(”用
戶“);
private Label lbpwd=new Label(”密
碼“);
private Label lbuserchoice=new Label(”用戶列表“);
private TextField txtname=new TextField();
private TextField txtpwd=new TextField();
private Choice userchoice=new Choice();
public user()
{ super(”系統用戶管理“);
setSize(410,250);
this.setLocationRelativeTo(this.getParent());
setResizable(false);
setBackground(Color.LIGHT_GRAY);
setLayout(null);
lbname.setSize(50,20);
lbpwd.setSize(50,20);
lbuserchoice.setSize(50,20);
txtname.setSize(170,20);
txtpwd.setSize(170,20);
userchoice.setSize(170,20);
btnadd.setSize(50,20);
btndel.setSize(50,20);
btnmod.setSize(50,20);
btnexit.setSize(50,20);
lbname.setLocation(80,50);
txtname.setLocation(160,50);
lbpwd.setLocation(80,100);
txtpwd.setLocation(160,100);
userchoice.setLocation(160,150);
btnadd.setLocation(60,200);
btndel.setLocation(140,200);
btnmod.setLocation(220,200);
btnexit.setLocation(300,200);
add(lbname);
add(txtname);
add(lbpwd);
add(txtpwd);
add(lbuserchoice);
add(userchoice);
add(btnadd);
add(btndel);
add(btnmod);
add(btnexit);
btnadd.addActionListener(this);
btndel.addActionListener(this);
btnmod.addActionListener(this);
btnexit.addActionListener(this);
setVisible(true);
initchoice();
userchoice.addItemListener(this);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{dispose();}
});
}
public void initchoice()
{ try { con=new condb();
sql=”select 用戶名 from 數據庫用戶“;
rs=con.getrs(con.con,sql);
while(rs.next())
{ userchoice.addItem(rs.getString(”用戶名“));
}
con.dbclose(con.con,rs);
con=null;
}
catch(Exception e){}
} public void actionPerformed(ActionEvent ee)
{ if(ee.getActionCommand().equals(”退出“))
dispose();
if(ee.getActionCommand().equals(”增加“))
{ sql=”select * from 數據庫用戶 where 用戶名='“+txtname.getText()+”'“;
con=new condb();
try{ rs=con.getrs(con.con,sql);
if(rs.next())
{ JOptionPane jop=new JOptionPane();
jop.showConfirmDialog(null,”該用戶已經存在!“,”警告“,-1);
con.dbclose(con.con,rs);
con=null;
rs=null;
}
else
{ sql=”insert into 數據庫用戶 values('“+txtname.getText()+
”','“+txtpwd.getText()+”')“;
con=new condb();
try{ con.moddb(con.con,sql);
con.con.close();
}
catch(SQLException se){}
userchoice.addItem(txtname.getText());
txtname.setText(”“);
txtpwd.setText(”“);
con=null;
}
}catch(Exception a){}
}
if(ee.getActionCommand().equals(”修改“))
{ sql=”update 數據庫用戶 set 密碼='“+txtpwd.getText()
+”'where 用戶名='“+txtname.getText()+”'“;
con=new condb();
try{
con.moddb(con.con,sql);
con.con.close();
}
catch(SQLException se){}
txtname.setText(”“);
txtpwd.setText(”“);
con=null;
} if(ee.getActionCommand().equals(”刪除“))
{ JOptionPane jopask=new JOptionPane();
if(jopask.showConfirmDialog(null,”你要刪除?“,”請確認“,2)==0)
{ con=new condb();
sql=”delete from 數據庫用戶 where 用戶名='“+txtname.getText()+”'“;
try{ con.moddb(con.con,sql);
con.con.close();
}
catch(SQLException se){}
con=null;
userchoice.remove(userchoice.getSelectedIndex());
txtname.setText(”“);
txtpwd.setText(”“);
} } }
public void itemStateChanged(ItemEvent ie)
{txtname.setText(userchoice.getSelectedItem());}
}
whole.java
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class whole extends JDialog implements ActionListener { private condb con=null;
private ResultSet rs=null;
private String sql=null;
private JLabel bmhao=new JLabel(”職工號:“);
private JLabel bmname=new JLabel(”姓名:“);
private JTextField wholetx1=new JTextField();
private JTextField wholetx2=new JTextField();
private JButton ok=new JButton(”查詢“);
private JOptionPane jop=new JOptionPane();
private JTable ta=null;
private JScrollPane taooo=new JScrollPane();
private String col[]={”職工號“,”姓名“,”普通請假“,”病假“,”遲到“,”基本工資“,”獎金“,”扣除工資“,”實發工資“};
private Object rowline[][]=new String[45][10];
private boolean tf=false;
public whole()
{ setTitle(”全部信息“);
setSize(600,300);
getContentPane().setBackground(Color.LIGHT_GRAY);
getContentPane().setLayout(null);
Dimension scr=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frm=getSize();
setLocation((int)(scr.getWidth()-frm.getWidth())/2,150);
bmhao.setBounds(50,20,80,30);
wholetx1.setBounds(140,20,50,20);
bmname.setBounds(210,20,80,30);
wholetx2.setBounds(300,20,50,20);
ok.setBounds(400,20,100,30);
getContentPane().add(bmhao);
getContentPane().add(wholetx1);
getContentPane().add(bmname);
getContentPane().add(wholetx2);
getContentPane().add(ok);
ok.addActionListener(this);
setVisible(true);
}
public void initTable(Object row[][],String col[])
{
con=new condb();
if(wholetx1.getText().equals(”“)==true && wholetx2.getText().equals(”“)==true){ sql =”select 職工.職工號,姓名, 普通請假,病假, 遲到,基本工資,獎金,扣除工資,實發工資 from 職工,工資 where 職工.職工號=工資.職工號 “;
}
else if(wholetx1.getText().equals(”“)==false)
{ sql =”select 職工.職工號,姓名, 普通請假,病假, 遲到,基本工資,獎金,扣除工資,實發工資 from 職工,工資 where 職工.職工號=工資.職工號 and 職工.職工號='“+wholetx1.getText()+”'“;
}
//職工.職工號=工資.職工號 and
else if(wholetx2.getText().equals(”“)==false)
{ sql =”select 職工.職工號,姓名, 普通請假,病假, 遲到,基本工資,獎金,扣除工資,實發工資 from 職工,工資 where 職工.職工號=工資.職工號 and 職工.姓名='“+wholetx2.getText()+”'“;
}
// 職工.職工號=工資.職工號 and
try{ rs=con.getrs(con.con,sql);
int cnt=0;
while(rs.next())
{
rowline[cnt][0]=rs.getString(”職工號“);
rowline[cnt][1]=rs.getString(”姓名“);
rowline[cnt][2]=rs.getString(”普通請假“);
rowline[cnt][3]=rs.getString(”病假“);
rowline[cnt][4]=rs.getString(”遲到“);
rowline[cnt][5]=rs.getString(”基本工資“);
rowline[cnt][6]=rs.getString(”獎金“);
rowline[cnt][7]=rs.getString(”扣除工資“);
rowline[cnt][8]=rs.getString(”實發工資“);
cnt++;
}
ta=new JTable(rowline,col);
ta.setSize(580,190);
taooo=new JScrollPane(ta);
taooo.setLocation(20,50);
taooo.setSize(560,190);
getContentPane().add(taooo);
this.repaint(0,0,500,300);
con.dbclose(con.con,rs);
con=null;
tf=false;
}catch(Exception se){}
}
public void actionPerformed(ActionEvent ae)
{
/* {int cnt=1;
while(cnt<11)
{ rowline[cnt][0]=”1“;
rowline[cnt][1]=”2“;
rowline[cnt][2]=”3“;
rowline[cnt][3]=”4“;
rowline[cnt][4]=”5“;
rowline[cnt][5]=”6“;
rowline[cnt][6]=”7“;
rowline[cnt][7]=”8“;
rowline[cnt][8]=”9“;
rowline[cnt][9]=”10“;
cnt++;
}
ta=new JTable(rowline,col);
ta.setSize(580,190);
taooo=new JScrollPane(ta);
taooo.setLocation(20,50);
taooo.setSize(560,190);
getContentPane().add(taooo);
this.repaint(0,0,500,300);
con.dbclose(con.con,rs);
con=null;
tf=false;}//刪除*/
if(tf==false)
{ for(int i=0;i for(int j=0;j<10;j++) rowline[i][j]=null; initTable(rowline,col); wholetx1.setText(”“); wholetx2.setText(”“); } } } xinxi.java import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class xinxi extends JFrame implements ActionListener { private condb con=null; private ResultSet rs=null; private String sql=null; private JLabel q1=new JLabel(”工資管理系統“); private JLabel q2=new JLabel(”適用于 Windows xp“); private JLabel q3=new JLabel(”QQ:305674218“); private JLabel q4=new JLabel(”聯系電話:029-83145369“); private JLabel q5=new JLabel(”手機:***“); private JButton d2=new JButton(”返回主界面“); public xinxi() { super(”版本信息“); setSize(400,350); setBackground(Color.LIGHT_GRAY); this.setLocationRelativeTo(this.getParent()); setResizable(false); Container cont=this.getContentPane(); cont.setLayout(null); q1.setBounds(120,20,300,30); q2.setBounds(100,50,300,30); q3.setBounds(120,80,300,30); q4.setBounds(120,110,300,30); q5.setBounds(120,140,300,30); d2.setBounds(200,260,100,30); cont.add(q1); cont.add(q2); cont.add(q3); cont.add(q4); cont.add(q5); cont.add(d2); d2.addActionListener(this); setVisible(true); } public void actionPerformed(ActionEvent ae){ if(ae.getActionCommand().equals(”返回主界面“)) dispose();} } zg.java import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;class zg extends JFrame implements ActionListener { private condb con=null; private ResultSet rs=null; private String sql=null; private JLabel name=new JLabel(”姓名“); private JLabel sex=new JLabel(”支付方式“); private JLabel age=new JLabel(”工資“); private JLabel hao=new JLabel(”銀行卡號“); private JTextField haotx=new JTextField(); private JLabel bm=new JLabel(”卡類型“); private JTextField nametx=new JTextField(); private JTextField agetx=new JTextField(); private JComboBox sexbox=new JComboBox(); private JComboBox depbox=new JComboBox(); private JButton add=new JButton(”增加“); private JButton exit=new JButton(”退出“); public zg() { super(”選擇支付方式“); setSize(500,250); setBackground(Color.LIGHT_GRAY); this.setLocationRelativeTo(this.getParent()); setResizable(false); Container cont=this.getContentPane(); cont.setLayout(null); name.setBounds(30,30,50,30); nametx.setBounds(90,30,100,30); sex.setBounds(210,30,60,30); sexbox.setBounds(270,30,80,30); age.setBounds(380,30,50,30); agetx.setBounds(410,30,60,30); depbox.setBounds(330,80,100,30); sexbox.addItem(”銀行卡“); sexbox.addItem(”現金“); sexbox.addItem(”支票“); hao.setBounds(50,80,60,30); haotx.setBounds(110,80,130,30); bm.setBounds(260,80,60,30); add.setBounds(60,150,80,30); exit.setBounds(360,150,80,30); cont.add(name); cont.add(sex); cont.add(age); cont.add(hao); cont.add(bm); cont.add(nametx); cont.add(sexbox); cont.add(agetx); cont.add(haotx); cont.add(depbox); cont.add(add); cont.add(exit); depbox.addActionListener(this); add.addActionListener(this); exit.addActionListener(this); setVisible(true); this.initbm(); } public void initbm() { condb con=new condb(); String sql=”select * from 卡類型“; try{ rs=con.getrs(con.con,sql); while(rs.next()) {depbox.addItem(rs.getString(”卡類型“));} con.dbclose(con.con,rs); con=null; rs=null; } catch(Exception e2){System.out.println(”職工名錯誤“);} } public void actionPerformed(ActionEvent ae){ con=new condb(); if(ae.getActionCommand().equals(”退出“)) dispose(); if(ae.getActionCommand().equals(”增加“)) { sql=”insert into 發工資方式 values('“+nametx.getText()+”','“+haotx.getText() +”','“+sexbox.getSelectedItem()+”',“+agetx.getText()+ ”,'“+depbox.getSelectedItem()+”')“; try{ con.moddb(con.con,sql); con.dbclose(con.con,null); } catch(Exception ue){ JOptionPane jop=new JOptionPane(); jop.showMessageDialog(null,” 扣除工資添加成功!“,”添加成功“,-1); } con=null; nametx.setText(”“); agetx.setText(”“); haotx.setText(”“); } } } zgcx.java import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import java.awt.Window;class zgcx extends Frame implements ActionListener { private condb conc=null; private ResultSet rs=null; private String sql=null; private Label chao=new Label(”職工號:“); private Label cname=new Label(”姓名:“); private Label csex=new Label(”普通請假:“); private Label cage=new Label(”病假:“); private Label cdep=new Label(”遲到: “); private TextField chaotx=new TextField(); private Label cnametx=new Label(”“); private Label csextx=new Label(”“); private Label cagetx=new Label(”“); private Label cdeptx=new Label(”“); private Button cx=new Button(”查詢“); private Button tc=new Button(”退出“); public zgcx() { setTitle(”職工休假查詢“); setSize(400,250); setBackground(Color.LIGHT_GRAY); this.setLocationRelativeTo(this.getParent()); this.setResizable(false); setLayout(null); chao.setBounds(80,50,50,20); cname.setBounds(80,80,50,20); csex.setBounds(80,110,50,20); cage.setBounds(80,140,50,20); cdep.setBounds(80,170,50,20); chaotx.setBounds(160,50,150,20); cnametx.setBounds(160,80,150,20); csextx.setBounds(160,110,150,20); cagetx.setBounds(160,140,150,20); cdeptx.setBounds(140,170,150,20); cx.setBounds(60,205,50,20); tc.setBounds(300,205,50,20); add(chao); add(cname); add(cagetx); add(cage); add(csex); add(cdep); add(chaotx); add(cnametx); add(csextx); add(cdeptx); add(cx); add(tc); setVisible(true); cx.addActionListener(this); tc.addActionListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {dispose();} }); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals(”退出“)) this.dispose(); if(e.getActionCommand().equals(”查詢“)) { conc=new condb(); sql=”select * from 職工 where 職工號='“+chaotx.getText()+”'“; try { rs=conc.getrs(conc.con,sql); if(rs.next()) { cnametx.setText(rs.getString(”姓名“)); csextx.setText(rs.getString(”普通請假“)); cagetx.setText(rs.getString(”病假“)); cdeptx.setText(rs.getString(”遲到“)); conc.dbclose(conc.con,rs); conc=null; rs=null;} else {JOptionPane jop=new JOptionPane(); jop.showConfirmDialog(null,”該用戶不存在!“,”警告",-1); } } catch(Exception ee){} } } } 人事工資管理系統 摘要 人事工資管理系統是企業內部用以管理人事檔案和工資等信息的實用性軟件。用它代替企業傳統的手工管理方式,大大提高了工作效率和安全性,提高了信息處理的速度和準確性,節省了工作人員的時間和精力,使企業人事管理和工資管理系統化、科學化、規范化和自動化。是現代企業必不可少的管理工具。 本系統采用ASP語言和Access數據庫開發而成,包括職工管理、檔案管理、考勤管理、工資管理等模塊,并將工資計算與考勤、獎懲相關聯,生成較合理的薪酬管理體制,以產生有效的激勵機制。同時系統設置了一些必要的輔助功能,比如對員工合同到期提醒和生日提醒等功能,有助于鞏固企業與員工的心理契約,促進員工積極向上,向公司靠攏。系統能夠實現數據的錄入、插入、刪除、查詢、統計、更新等功能,能滿足企業職工管理方面的基本要求。 關鍵詞:ASP;Access;數據庫;人事;工資 目錄 引言......................................................錯誤!未定義書簽。 1.1 系統開發背景........................................錯誤!未定義書簽。1.2 系統研究意義........................................錯誤!未定義書簽。1.3 系統研究方法........................................錯誤!未定義書簽。2 系統需求分析..............................................錯誤!未定義書簽。 2.1可行性分析..........................................錯誤!未定義書簽。 2.1.1可行性分析....................................錯誤!未定義書簽。2.1.2 經濟可行性....................................錯誤!未定義書簽。2.1.3 操作可行性....................................錯誤!未定義書簽。2.2 系統目標............................................錯誤!未定義書簽。2.3 系統功能需求分析....................................錯誤!未定義書簽。3 數據庫設計................................................錯誤!未定義書簽。 3.1 數據庫表簡介........................................錯誤!未定義書簽。3.2 數據庫結構設計......................................錯誤!未定義書簽。3.3 數據庫連接文件......................................錯誤!未定義書簽。4 系統功能模塊詳細設計及實現.................................................2 4.1 模塊設計.............................................................2 4.2 功能模塊的說明.......................................................3 4.3 系統界面的設計......................................錯誤!未定義書簽。 4.3.1 系統登錄界面的設計............................錯誤!未定義書簽。4.3.2 系統主界面的設計...............................................3 4.3.3 系統各模塊界面的設計...........................................4 5 系統評價..................................................錯誤!未定義書簽。 5.1 系統的特點..........................................錯誤!未定義書簽。5.2 系統的缺點..........................................錯誤!未定義書簽。5.3 將來可能提出的要求..................................錯誤!未定義書簽。結 論....................................................錯誤!未定義書簽。參考文獻....................................................錯誤!未定義書簽。致 謝....................................................錯誤!未定義書簽。系統功能模塊詳細設計及實現 4.1 模塊設計 人事工資管理系統共包括以下七個功能模塊:職工管理模塊、考勤管理模塊、檔案管理模塊、工資管理模塊、事項記錄模塊、其他事記模塊、系統管理模塊。其中每個模塊又分為若干個小功能模塊。其系統功能模塊詳細關系如圖1所示: 圖1 系統模塊結構圖 4.2 功能模塊的說明 人事工資管理系統的七個功能模塊的詳細介紹如下: 1.職工管理模塊:實現用戶自由的信息錄入。結合人事變動完成本單位各類人員變動事宜,實時記錄人員進入單位后的所有變化信息。實現對員工信息靈活的查詢功能。 2.考勤管理模塊:將考勤數據按月輸入到系統中,系統將記錄所有請假、礦工、遲到、早退等數據,并進行自動統計和匯總。 3.檔案管理模塊:提供全部人員記錄,用以記錄和查看人員相關信息。4.工資管理模塊:實現對基本工資的管理,每月可以計算和修改工資數據,記錄工資發放日期。 5.事項記錄模塊:根據單位情況設立培訓、獎懲等事項記錄。 6.其它事記模塊:用于企業內部記錄單位的基本信息和員工生日等,促進員工團結一致、積極向上。 7.系統管理模塊:主要包括用戶登陸和安全退出系統。提供有效的用戶認證安全機制。 圖2 系統登錄頁面 打 4.3.2 系統主界面的設計 通過用戶驗證后,進入人事工資管理系統的主頁面。系統的主頁面是由一個“T”字形結構的框架頁面構成,它將該頁面分成頂部系統名稱顯示頁面、下面左側菜單頁面和右面主顯示頁面。 其中菜單頁是該頁面的主題部分,實現了菜單的分類分級顯示,主菜單項從上往下排成一列,平時子菜單是隱藏的,單擊某一主菜單項時將展開它的所有子菜單項,同時其他主菜單項的子菜單項將緊縮回去。其界面如圖3 所示: 圖3 菜單界面。 4.3.3 系統各模塊界面的設計 由于系統模塊較多,下面將只介紹部分模塊的詳細設計: (一)職工管理模塊:本模塊根據搜索內容和方式分為按部門查看員工和離職員工查看兩部分。其中按部門查看員工的界面如圖4所示: 圖4 據部門查看員工頁面 圖5 新增員工頁面 (三)工資管理模塊:工資管理模塊包括員工工資的計算、工資按月統計和發放領取情況。員工工資計算頁面如圖6所示: 圖6 工資計算頁面 圖7 工資統計頁面 圖8 工資領取頁面 (四)考勤管理模塊: 圖9 考勤記錄頁面 圖10 考勤按月統計頁面 Powered by 計算機畢業論文網http://www.tmdps.cn http:// www.tmdps.cn 人事工資管理系統一、登錄界面 登錄界面如圖1所示。 圖1登錄界面 二、主界面 輸入用戶名和密碼,單擊【登錄】按鈕,打開如圖2所示的主界面。 圖2主界面 圖2中的菜單中包含的菜單選項如下: 【人事管理】:檔案管理、獎罰管理、調動管理、考評管理。【工資管理】:考勤津貼、工資總結。【系統管理】:部門管理、數據備份。【用戶管理】:操作員管理、修改口令、更改操作員。【退出】不包括任何選項。 三、人事管理菜單 1.選擇圖2中的【人事管理】?【檔案管理】菜單選項,打開如圖3所示的界面。 圖3檔案管理 選擇圖3中的【增加】工具按鈕,打開如圖4所示的界面,以實現增加員工信息。 圖4增加員工信息 在圖3中選中某員工,單擊【修改】工具按鈕,打開如圖5所示界面,以實現員工信息修改。 圖5修改員工信息界面 2.選擇圖2中的【人事管理】?【獎罰管理】菜單選項,打開如圖6所示的界面。 圖6獎罰管理 選擇圖6中的【增加】工具按鈕,打開如圖7所示的界面,以實現增加員工獎罰信息。 圖7增加獎罰管理 選擇圖6中的某一員工記錄,單擊【修改】工具按鈕,打開如圖8所示的界面,以實現修改員工獎罰信息。 圖8修改員工獎罰信息 在圖6中選中某員工記錄,單擊【刪除】工具按鈕以實現刪除員工獎罰信息。 3.選擇圖2中的【人事管理】?【調動管理】菜單選項,打開如圖9所示的界面。 圖9員工調動管理界面 選擇圖9中的【增加】工具按鈕,打開如圖10所示的界面,以實現增加員工調動信息。 圖10增加員工調動信息 選擇圖9中的某一員工記錄,單擊【修改】工具按鈕,打開如圖11所示的界面,以實現修改員工調動信息。 圖11修改員工調動信息 在圖9中選中某員工記錄,單擊【刪除】工具按鈕以實現刪除員工調動信息。 4.選擇圖2中的【考評管理】?【調動管理】菜單選項,打開如圖12所示的界面。 圖12考評管理界面 選擇圖12中的【增加】工具按鈕,打開如圖13所示的界面,以實現增加員工考評信息。 圖13增加考評信息 選擇圖12中的某一員工記錄,單擊【修改】工具按鈕,打開如圖14所示的界面,以實現修改員工考評信息。 圖14修改考評信息 在圖12中選中某員工記錄,單擊【刪除】工具按鈕以實現刪除員工考評信息。 四、工資管理菜單 1.選擇圖2中的【工資管理】?【考勤津貼】菜單選項,打開如圖15所示的界面。 圖15考勤津貼界面 在圖15中選擇工資月份,選擇員工編號,輸入全勤獎金、加班工資,單擊【增加】工具按鈕,以實現增加員工考勤津貼信息。 2.選擇圖2中的【工資管理】?【考勤津貼】菜單選項,打開如圖16所示的界面。 圖16工資總結界面 在圖16中選擇月份,顯示對應員工工資信息。 五、系統管理菜單 1.選擇圖2中的【系統管理】?【部門管理】菜單選項,打開如圖17所示的界面。 圖17部門管理 單擊圖17中的【增加】工具按鈕,打開如圖18所示的界面,以實現增加部門信息。 圖18增加部門 選擇圖17中的某一部門,單擊【修改】工具按鈕,打開如圖19所示的界面,以實現修改部門信息。 圖19修改部門 在圖17中選中某員工記錄,單擊【刪除】工具按鈕以實現刪除部門信息。 2.選擇圖2中的【系統管理】?【數據備份】菜單選項,打開如圖20所示的界面。 圖20數據備份 五、用戶管理菜單 1.選擇圖2中的【用戶管理】?【操作員管理】菜單選項,打開如圖21所示的界面。 圖21操作員管理 在圖21中輸入用戶名和密碼,選擇權限,單擊【增加】工具按鈕,以實現增加操作員信息。在圖21中的某一操作員,會自動填寫用戶名和密碼,可以修改用戶名、密碼、權限,單擊【修改】工具按鈕,以實現修改操作員信息。 在圖21中的某一操作員,單擊【刪除】工具按鈕,以實現刪除操作員信息。 2.選擇圖2中的【用戶管理】?【修改口令】菜單選項,打開如圖22所示的界面。 圖22修改密碼 輸入登錄用戶的原始密碼,兩次輸入相同的心密碼,單擊【確定】按鈕,實現密碼修改。3.選擇圖2中的【用戶管理】?【更改操作員】菜單選項,打開如圖23所示的界面。 圖23更改操作員 選擇用戶名,輸入該用戶的密碼,實現以所選擇的用戶身份登錄。 摘 要 在當今社會,隨著計算機技術的快速發展及網絡技術的應用,實現用計算機代替人腦管理事務已經相當普及,這其中利用計算機實現企業人事工資的管理已勢在必行。本系統結合實際的人事、財務制度,經過實際的需求分析,采用功能強大的Visual Basic6.0做為開發工具,選取Microsoft Access2002作為后臺數據庫,主要應用了ADO對象執行SQL語言的技術手段而開發出來的單機版人事管工資理系統。 整個系統從符合實用、靈活、安全的要求出發,可以存儲所有有關工資,津貼,提成等內容,安全高效,實現迅速查找所需信息完成工資管理的全過程,包括員工信息的添加,修改刪除,職位信息的添加,修改,刪除以及特殊項管理,其中包括各種獎懲措施以及項目提成等工資管理工作。實踐證明,本文所設計的工資管理系統操作簡便、應用靈活,方便用戶對數據的把握和管理,可以滿足公司人事、工資管理各方面的需要。 論文主要介紹了本課題的開發環境平臺,系統所要完成的各項功能及開 發的過程。著重說明了系統設計的思想,解決方案和功能實現。 關鍵詞:數據庫;Visual Basic6.0;Microsoft Access2002;人事工資管理 Abstract 目 錄 第1章 緒 論 1 1.1管理系統簡介.........................................................錯誤!未定義書簽。1.2系統開發的特點要求.............................................錯誤!未定義書簽。1.3設計和開發步驟.....................................................錯誤!未定義書簽。 第2章 系統分析及工作平臺 錯誤!未定義書簽。 2.1系統可行性分析.....................................................錯誤!未定義書簽。2.2 系統需求分析........................................................錯誤!未定義書簽。 2.2.1 分析目標:..................................................錯誤!未定義書簽。2.2.2 現狀調查分析..............................................錯誤!未定義書簽。2.2.3 分析成果:..................................................錯誤!未定義書簽。2.3 開發工具的選擇....................................................錯誤!未定義書簽。 2.3.1 VB語言的應用............................................錯誤!未定義書簽。 2.3.2 VB語言的特點............................................錯誤!未定義書簽。2.3.3 Access2002的應用.......................................錯誤!未定義書簽。2.3.4 Access的特點...............................................錯誤!未定義書簽。2.3.5 Access和Visual Basic結合的優點.............錯誤!未定義書簽。2.4 開發平臺的選擇....................................................錯誤!未定義書簽。 第3章 總體設計 錯誤!未定義書簽。 3.1 系統設計思想........................................................錯誤!未定義書簽。3.2 安全性與完整性分析............................................錯誤!未定義書簽。3.3 系統功能設計........................................................錯誤!未定義書簽。 3.3.1 系統功能模塊設計......................................錯誤!未定義書簽。3.3.2 系統關系模式設計......................................錯誤!未定義書簽。3.4分析與創建數據庫.................................................錯誤!未定義書簽。3.5創建公用數據庫模塊.............................................錯誤!未定義書簽。 3.5.1公用數據庫模塊的功能...............................錯誤!未定義書簽。3.5.2公用數據庫模塊設計...................................錯誤!未定義書簽。 第4章.詳細設計 錯誤!未定義書簽。 4.1創建主窗體.............................................................錯誤!未定義書簽。4.2創建人員管理窗體.................................................錯誤!未定義書簽。4.3 創建添加員工窗體................................................錯誤!未定義書簽。4.4創建修改員工窗體.................................................錯誤!未定義書簽。4.5創建職位管理窗體.................................................錯誤!未定義書簽。4.6創建添加職位窗體.................................................錯誤!未定義書簽。4.7創建修改職位窗體.................................................錯誤!未定義書簽。4.8創建特殊項管理窗體.............................................錯誤!未定義書簽。4.9創建添加特殊項窗體.............................................錯誤!未定義書簽。4.10創建修改特殊項窗體...........................................錯誤!未定義書簽。4.11創建工資發放窗體...............................................錯誤!未定義書簽。4.12創建統計報表窗體...............................................錯誤!未定義書簽。4.13 創建當月工資細表窗體......................................錯誤!未定義書簽。4.14創建當月工資總表窗體.......................................錯誤!未定義書簽。4.15創建當月特殊項表窗體.......................................錯誤!未定義書簽。 第5章 系統的運行測試 錯誤!未定義書簽。 5.1系統運行測試流程.................................................錯誤!未定義書簽。5.2系統安全性密碼設計.............................................錯誤!未定義書簽。 總結 錯誤!未定義書簽。 致 謝 錯誤!未定義書簽。參 考 文 獻 錯誤!未定義書簽。 Powered by 計算機畢業論文網http://www.tmdps.cn 提供 如果需要詳細內容請與QQ:4991024聯系 05春計算機專業畢業論文 第一章緒 論 1.1 信息化的發展 1.2 系統開發背景 1.3 課題研究的目的1.4 系統設計的指導思想 第二章人事管理系統的問題 2.1人事管理系統的簡介 2.2人事管理系統的用戶需求 第三章人事管理系統的分析和設計 3.1人事管理系統的分析與概要設計 3.2人事管理系統的數據庫設計 第四章人事管理系統的具體實現 4.1模塊的開發環境的簡介_Visual Basic 4.1.1事件驅動的應用程序 4.1.2面向對象的編程 第1頁 4.2系統模塊的具體實現 4.2.1檔案信息模塊的實現 4.2.2工資管理模塊的實現 4.2.34.2.44.2.5 工資統計模塊的實現 部門查詢模塊的實現 特殊查詢模塊的實現 報表查詢模塊的實現 4.2.6 4.3系統開發的其它方面 第五章人事管理系統的運行環境 第六章:人事管理系統的程學開發 第七章結束語 參考文獻 前言 人事管理系統是一個企業單位不可缺少的部分,它的內容對于企業的決策者和管理者來說都至關重要,所以人事勞資管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。 作為計算機應用的一部分,使用計算機對人事勞資信息進行管理,具有著手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高人事勞資管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。 因此,開發這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發一套人事管理系統為例,談談其開發過程和所涉及到的問題及解決方法。 第一章緒論 想要全部 請加QQ:76536415 專業設計 畢業論文第二篇:ASP2057人事工資管理系統
第三篇:人事工資管理系統
第四篇:VB0016人事工資管理系統A 2
第五篇:VB+ACCESS人事工資管理系統