⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadserverclerk.java

📁 也是一个子线程, 对员工的基本资料管理!
💻 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 + -