📄 threadserverclerk.java
字号:
/**
对员工的基本资料管理
端口号6003
filename:ThreadServerClerk
*/
//引入需要用到的包
import java.io.*;
import java.net.*;
import java.sql.*;
public class ThreadServerClerk extends Thread
{
//定义保存输入值的变量
private String function=null;//功能
private String bianhao=null; //编号
private String name=null;//姓名
private String sex=null;//性别
private String birthday=null;//出生日期
private String homeaddress=null;//家庭地址
private String lianxifangshi=null;//联系方式
private String gongzuotime=null;//工作时间
private String partment=null;//部门
private String job=null;//职务
//连接数据库用数据源名
String conname=null;
//定义网络连接对象
Socket sc=null;
DataInputStream in=null ;
DataOutputStream out=null;
ConnectionShuJuKu c=null;
//构造函数
ThreadServerClerk(Socket sc,String conname)
{
//接收传递过来的值
this.sc=sc;
this.conname=conname;
try
{
in=new DataInputStream(sc.getInputStream());
out=new DataOutputStream(sc.getOutputStream());
}//end try
catch(IOException er)
{
System.out.println(er.getMessage());
}
}//end 构造方法
public void run()
{
//定义返回值
boolean flag=false;
//读取数据
try
{
function=in.readUTF();
}
catch(IOException re)
{
System.out.println(re.getMessage());
}
//处理数据,调用存储过程来处理
try
{
//创建连接对象.并传值数据源名
c=new ConnectionShuJuKu(conname);
Connection con=c.getConnection();
//判断执行那部分功能
if(function.equals("addclerk"))
{
try
{
bianhao=in.readUTF();
name=in.readUTF();
sex=in.readUTF();
partment=in.readUTF();
job=in.readUTF();
birthday=in.readUTF();
gongzuotime=in.readUTF();
homeaddress=in.readUTF();
lianxifangshi=in.readUTF();
//有参数
CallableStatement cs=con.prepareCall("{Call addclerkproc(?,?,?,?,?,?,?,?,?)}");
//设置参数值
cs.setString(1,bianhao);
cs.setString(2,name);
cs.setString(3,sex);
cs.setString(4,partment);
cs.setString(5,job);
cs.setString(6,birthday);
cs.setString(7,gongzuotime);
cs.setString(8,lianxifangshi);
cs.setString(9,homeaddress);
int row=cs.executeUpdate();
//判断是否修改成功
if(row==1)
flag=true;
else
flag=false;
//向客户端写入数据
out.writeBoolean(flag);
}
catch(IOException re2)
{
System.out.println(re2.getMessage());
}
}//end
else if(function.equals("queryclerk"))
{
try
{
bianhao=in.readUTF();
CallableStatement cs=con.prepareCall("{Call queryclerkproc(?)}");
//设置参数值
cs.setString(1,bianhao);
ResultSet rs=cs.executeQuery();
if(rs.next())
{
name=rs.getString(2);
sex=rs.getString(3);
birthday=rs.getString(4);
homeaddress=rs.getString(5);
lianxifangshi=rs.getString(6);
gongzuotime=rs.getString(7);
partment=rs.getString(8);
job=rs.getString(9);
flag=true;
}
else
flag=false;
//向客户端写入数据
out.writeBoolean(flag);
if(flag)
{
out.writeUTF(name);
out.writeUTF(sex);
out.writeUTF(partment);
out.writeUTF(job);
out.writeUTF(birthday);
out.writeUTF(gongzuotime);
out.writeUTF(homeaddress);
out.writeUTF(lianxifangshi);
}//end if
}//end try
catch(IOException eqwew){}
}
else if(function.equals("changeclerk"))
{
try
{
bianhao=in.readUTF();
partment=in.readUTF();
job=in.readUTF();
homeaddress=in.readUTF();
lianxifangshi=in.readUTF();
//有参数
CallableStatement cs=con.prepareCall("{Call changeclerkproc(?,?,?,?,?)}");
//设置参数值
cs.setString(1,bianhao);
cs.setString(2,partment);
cs.setString(3,job);
cs.setString(4,lianxifangshi);
cs.setString(5,homeaddress);
int row=cs.executeUpdate();
//判断是否修改成功
if(row==1)
flag=true;
else
flag=false;
//向客户端写入数据
out.writeBoolean(flag);
}//enb try
catch(IOException re2)
{
System.out.println(re2.getMessage());
}
}//end changeclerk
else //del
{
try
{
bianhao=in.readUTF();
CallableStatement cs=con.prepareCall("{Call delclerkproc(?)}");
//设置参数值
cs.setString(1,bianhao);
int row=cs.executeUpdate();
if(row==1)
flag=true;
else
flag=false;
//向客户端写入数据
out.writeBoolean(flag);
}//end try
catch(IOException eqwew){}
}//end del
con.close();
}//end try
catch(SQLException sqle)
{
System.out.println("sql"+sqle.getMessage());
}
//关闭对象
try
{
in.close();
out.close();
sc.close();
}
catch(Exception e){}
}//end run
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -