Java和SQLServer开发的职工和工资管理系统全过程及代码.docx
《Java和SQLServer开发的职工和工资管理系统全过程及代码.docx》由会员分享,可在线阅读,更多相关《Java和SQLServer开发的职工和工资管理系统全过程及代码.docx(47页珍藏版)》请在冰豆网上搜索。
![Java和SQLServer开发的职工和工资管理系统全过程及代码.docx](https://file1.bdocx.com/fileroot1/2022-12/9/4ba73cd0-946a-4aad-b873-b885a2434d78/4ba73cd0-946a-4aad-b873-b885a2434d781.gif)
Java和SQLServer开发的职工和工资管理系统全过程及代码
工资管理系统
一,设计数据库SalaryManagement
职工表:
工资表
二,创建“数据源(ODBC)”
具体步骤:
“开始"—“控制面板”—“管理工具"—“数据源(ODBC)
—在用户DNS里,点“添加”——在数据源驱动列表最下方选择“SQLServer”
—点“完成"——出现了一个创建到SQLServer的新数据源
—在数据源“名称”右侧,填写数据库的名称;在“服务器”右侧,写(local)
—点“下一步”-—继续点“下一步"
-在更改默认的数据库为“SalaryManagement”,这里的数据库为我刚刚新建的数据库。
—点“下一步”
—点“完成”
-出现一个“ODBCMicrosoftSQLServer安装”对话框
-点击下面的“测试数据源”
-出现图2.1就好了。
图2。
1
-下面依次点击“确定”就完成了。
-完成了以后,你会在数据源里看到自己刚刚新建的数据源,名为:
“SalaryManagement"
三代码的编写:
3。
1数据库连接(文件名:
DBConnect。
java)
注意,这个文件最好先编译,因为后面的main.java文件的编译会用到该文件编译完产生的DBConnect.class文件
//类DBConnect用于数据库的连接
//导入sql包
importjava。
sql.*;
//创建数据库连接类DBConnect
publicclassDBConnect
{
//静态方法提高数据库的连接效率
publicstaticConnectiongetConn()throwsException
{
//加载JDBC驱动
Class。
forName(”sun。
jdbc.odbc.JdbcOdbcDriver”);
//以系统默认用户身份,连接数据库StudentManager
returnDriverManager。
getConnection(”jdbc:
odbc:
SalaryManagement",”",””);
}
}
3。
2添加职工信息(文件名:
AddEmployee。
java)
//添加职工面板类AddEmployee
//导入系统的类包
importjava。
awt。
*;
importjava。
sql。
*;
importjavax。
swing。
*;
importjava。
awt.event.*;
//创建“添加职工“面板类
publicclassAddEmployeeextendsJPanelimplementsActionListener
{
//声明连接数据库对象
Connectioncon;
//声明SQL语句对象
Statementst;
//创建组件对象:
标签、文本行、单选
JLabeljLabel1=newJLabel(”职工工号”);
JLabeljLabel2=newJLabel("职工姓名”);
JLabeljLabel3=newJLabel(”职工性别”);
JLabeljLabel4=newJLabel(”职工年龄");
JLabeljLabel5=newJLabel(”家庭住址”);
JLabeljLabel6=newJLabel(”联系电话”);
JTextFieldjTextField1=newJTextField();
JTextFieldjTextField2=newJTextField();
JTextFieldjTextField3=newJTextField();
JTextFieldjTextField4=newJTextField();
JTextFieldjTextField5=newJTextField();
JRadioButtonjRadioButton1=newJRadioButton("男");
JRadioButtonjRadioButton2=newJRadioButton("女”);
ButtonGroupbuttonGroup1=newButtonGroup();
JButtonjButton1=newJButton(”添加职工”);
//构造方法
publicAddEmployee()
{
try{
//调用初始化方法
jbInit();
}
catch(Exceptionexception){
exception。
printStackTrace();
}
}
//界面初始化方法
privatevoidjbInit()throwsException
{
//连接数据库
con=DBConnect。
getConn();
st=con。
createStatement();
//框架的布局
this.setLayout(null);
//设置各组件的大小
jLabel1。
setBounds(newRectangle(21,17,64,24));
jLabel2。
setBounds(newRectangle(21,51,53,22));
jLabel3。
setBounds(newRectangle(21,86,61,27));
jLabel4。
setBounds(newRectangle(21,122,59,25));
jLabel5.setBounds(newRectangle(21,168,54,24));
jLabel6。
setBounds(newRectangle(21,205,54,24));
jTextField1.setBounds(newRectangle(102,10,200,30));
jTextField2。
setBounds(newRectangle(102,49,200,30));
jTextField3。
setBounds(newRectangle(102,117,80,33));
jTextField4.setBounds(newRectangle(102,163,200,29));
jTextField5。
setBounds(newRectangle(102,200,200,29));
jRadioButton1.setBounds(newRectangle(102,83,65,30));
jRadioButton2.setBounds(newRectangle(190,85,85,30));
jButton1.setBounds(newRectangle(130,240,150,32));
//设置单选按钮被选中
jRadioButton1。
setSelected(true);
//添加按钮动作事件
jButton1.addActionListener(this);
//添加组件到面板
this。
add(jLabel1);
this.add(jTextField1);
this.add(jLabel2);
this。
add(jTextField2);
this.add(jLabel3);
buttonGroup1。
add(jRadioButton1);
buttonGroup1。
add(jRadioButton2);
this。
add(jRadioButton1);
this。
add(jRadioButton2);
this.add(jLabel4);
this。
add(jTextField3);
this.add(jLabel5);
this。
add(jTextField4);
this。
add(jLabel6);
this。
add(jTextField5);
this。
add(jButton1);
}
//点击按钮事件
publicvoidactionPerformed(ActionEvente)
{
//获取用户输入的信息
StringEmployeeID=jTextField1.getText();
StringEmployeeName=jTextField2。
getText();
StringEmployeeSex="”;
if(jRadioButton1.isSelected())
EmployeeSex+="男";
if(jRadioButton2。
isSelected())
EmployeeSex+=”女";
StringEmployeeAge=jTextField3。
getText();
StringEmployeeAddress=jTextField4。
getText();
StringEmployeePhone=jTextField5。
getText();
try{
//设置日期格式
st.execute("setdateformatymd”);
//利用st对象执行SQL语句,进行插入操作
st。
executeUpdate("insertintoEmployeevalues('”+EmployeeID+”’,'”+EmployeeName+”’,’”+EmployeeSex+”’,’”+EmployeeAge+”’,’”+EmployeeAddress+"','"+EmployeePhone+”')”);
//利用消息对话框提示职工添加成功
JOptionPane.showMessageDialog(this,”职工添加成功!
”);
//清空文本行的内容
jTextField1。
setText(”");
jTextField2。
setText("”);
jTextField3.setText("”);
jTextField4。
setText(”");
jTextField5.setText(””);
}
catch(Exceptionex){
//利用消息对话框提示异常的信息
JOptionPane。
showMessageDialog(this,”职工添加失败!
");
ex。
printStackTrace();
}
}
}
3.3修改职工信息(文件名:
ModifyEmployee。
java)
//“职工信息修改”面板类ModifyEmployee
//导入系统的类包
importjava。
awt.*;
importjava。
sql。
*;
importjavax。
swing。
*;
importjava。
awt.event。
*;
//创建“职工信息修改资"类
publicclassModifyEmployeeextendsJPanelimplementsActionListener
{
//声明连接数据库对象
Connectioncon;
//声明SQL语句对象
Statementst;
//创建组件对象:
标签、文本行、单选
JLabeljLabel1=newJLabel(”请输入职工的编号:
");
JTextFieldjTextField1=newJTextField();
JButtonjButton1=newJButton("查找该职工”);
JLabeljLabel2=newJLabel(”职工编号:
”);
JTextFieldjTextField2=newJTextField();
JLabeljLabel3=newJLabel(”职工姓名:
");
JTextFieldjTextField3=newJTextField();
JLabeljLabel4=newJLabel(”职工性别:
”);
JTextFieldjTextField4=newJTextField();
JLabeljLabel5=newJLabel("职工年龄:
”);
JTextFieldjTextField5=newJTextField();
JLabeljLabel6=newJLabel(”家庭住址:
”);
JTextFieldjTextField6=newJTextField();
JLabeljLabel7=newJLabel("联系电话:
”);
JTextFieldjTextField7=newJTextField();
JButtonjButton2=newJButton(”修改职工信息”);
//构造方法
publicModifyEmployee()
{
try{
//调用初始化方法
jbInit();
}
catch(Exceptionexception){
exception.printStackTrace();
}
}
//面板初始化方法
privatevoidjbInit()throwsException
{
//连接数据库
con=DBConnect.getConn();
st=con。
createStatement();
//框架的布局
this。
setLayout(null);
//设置各组件的大小
jLabel1.setFont(newjava。
awt。
Font(”楷体",Font.BOLD,14));
jLabel1。
setBounds(newRectangle(40,15,140,30));
jTextField1。
setBounds(newRectangle(185,15,120,30));
jButton1。
setBounds(newRectangle(110,55,150,30));
jLabel2。
setFont(newjava。
awt.Font(”楷体”,Font。
BOLD,14));
jLabel2.setBounds(newRectangle(20,105,80,30));
jTextField2.setBounds(newRectangle(100,105,80,30));
jLabel3。
setFont(newjava。
awt。
Font("楷体",Font。
BOLD,14));
jLabel3。
setBounds(newRectangle(190,105,80,30));
jTextField3。
setBounds(newRectangle(270,105,80,30));
jLabel4。
setFont(newjava。
awt.Font(”楷体”,Font.BOLD,14));
jLabel4。
setBounds(newRectangle(20,145,80,30));
jTextField4.setBounds(newRectangle(100,145,80,30));
jLabel5.setFont(newjava.awt.Font("楷体",Font。
BOLD,14));
jLabel5.setBounds(newRectangle(190,145,80,30));
jTextField5.setBounds(newRectangle(270,145,80,30));
jLabel6。
setFont(newjava。
awt。
Font(”楷体",Font。
BOLD,14));
jLabel6。
setBounds(newRectangle(20,185,80,30));
jTextField6。
setBounds(newRectangle(100,185,80,30));
jLabel7。
setFont(newjava.awt.Font("楷体”,Font。
BOLD,14));
jLabel7.setBounds(newRectangle(190,185,80,30));
jTextField7.setBounds(newRectangle(270,185,80,30));
jButton2。
setBounds(newRectangle(120,240,150,30));
//添加按钮动作事件
jButton1.addActionListener(this);
jButton2。
addActionListener(this);
//添加组件到面板
this。
add(jLabel1);
this.add(jTextField1);
this。
add(jButton1);
this。
add(jLabel2);
this。
add(jTextField2);
jTextField2.setEditable(false);
this。
add(jLabel3);
this.add(jTextField3);
this。
add(jLabel4);
this.add(jTextField4);
this.add(jLabel5);
this。
add(jTextField5);
this。
add(jLabel6);
this。
add(jTextField6);
this。
add(jLabel7);
this。
add(jTextField7);
this。
add(jButton2);
}
//点击按钮事件
publicvoidactionPerformed(ActionEventactionevent)
{
//点击“查找该职工”按钮
if(actionevent。
getSource()==jButton1)
{
try{
//利用st对象执行SQL语句,返回结果集对象
ResultSetrs=st。
executeQuery("select*fromEmployeewhere职工编号=’"+jTextField1。
getText()+"'");
//处理结果集
if(rs。
next())
{
jTextField2.setText(rs。
getString("职工编号”));
jTextField3。
setText(rs。
getString("职工姓名"));
jTextField4。
setText(rs。
getString(”职工性别”));
jTextField5.setText(rs。
getString(”职工年龄”));
jTextField6.setText(rs。
getString(”家庭住址”));
jTextField7.setText(rs。
getString(”联系电话"));
}
else
{
JOptionPane。
showMessageDialog(this,"没有这个工号的职工!
");
}
}
catch(Exceptionex){
//利用消息对话框提示查询失败
JOptionPane。
showMessageDialog(this,”职工信息修改失败!
");
}
}
//点击“修改工资”按钮
if(actionevent。
getSource()==jButton2)
{
//获取用户更改的工资
try{
//利用st对象执行SQL语句,进行插入操作
st。
executeUpdate(”updateEmployeeset职工姓名=’”+jTextField3。
getText()+"’where职工编号=’”+jTextField2。
getText()+”’”);
st。
executeUpdate(”updateEmployeeset职工性别=’”+jTextField4。
getText()+”'where职工编号=’”+jTextField2。
getText()+”’");
st。
executeUpdate(”updateEmployeeset职工年龄='”+jTextField5.getText()+”’where职工编号=’”+jTextField2。
getText()+”’”);
st。
executeUpdate(”updateEmployeeset家庭住址='"+jTextField6。
getText()+"’where职工编号=’”+jTextField2.getText()+”'”);
st。
executeUpdate(”updateEmployeeset联系电话=’”+jTextField7.getText()+”’where职工编号=’”+jTextField2。
getText()+”’");
//利用消息对话框提示职工信息修改成功
JOptionPane。
showMessageDialog(this,"职工信息修改成功!
”);
}
catch(Exceptionex){
//利用消息对话框提示异常的信息
JOptionPane。
showMessageDialog(this,”职工信息修改失败!
”);
ex。
printStackTrace();
}
}
}
}
3。
4删除职工信息(文件名:
DeleteEmployee。
java)
//"删除职工“面板类DeleteEmployee
//导入系统的类包
importjava。
awt.*;
importjava。
sql.*;
importjavax。
swing。
*;
importjava。
awt.event.*;
//创建“删除职工”类
publicclassDeleteEmployeeextendsJPanelimplementsActionListener
{
//声明连接数据库对象
Connectioncon;
//声明SQL语句对象
Statementst;
//创建组件对象
JLabeljLabel1=newJLabel(”请输入待删除的职工的编号");
JTextFieldjTextField1=newJTextField();
JButtonjButton1=newJButton(”删除");
//构造方法
publicDeleteEmployee()
{
try{
//调用初始化方法
jbInit();
}
catch(Exceptionexception){